altoslib: Add conversion for motor pressure sensor
authorKeith Packard <keithp@keithp.com>
Mon, 12 Oct 2020 23:40:41 +0000 (16:40 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 22 Oct 2020 04:33:59 +0000 (21:33 -0700)
This assumes a standard 0.5-4.5 range 1600PSI sensor.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosConvert.java

index 83299632a3d3e5f38b094d3a8b18c9f264793e8f..e51e4f3059f942893a1fc30d331fbdcf16ab5dba 100644 (file)
@@ -311,6 +311,25 @@ public class AltosConvert {
                return easy_mini_2_adc(sensor) * supply * 127/27;
        }
 
+       static double motor_pressure(double voltage) {
+               double  base = 0.5;
+               double  max = 4.5;
+               double  full_scale_pressure = psi_to_pa(1600);
+
+               if (voltage < base)
+                       voltage = base;
+               if (voltage > max)
+                       voltage = max;
+               return (voltage - base) / (max - base) * full_scale_pressure;
+       }
+
+       static double easy_motor_2_motor_pressure(int sensor) {
+               double  supply = 3.3;
+               double  voltage = easy_mini_2_adc(sensor) * supply * 15.6 / 10.0;
+
+               return motor_pressure(voltage);
+       }
+
        public static double radio_to_frequency(int freq, int setting, int cal, int channel) {
                double  f;