altoslib: use motor pressure calibration data for EasyMotor
[fw/altos] / altoslib / AltosConvert.java
index e51e4f3059f942893a1fc30d331fbdcf16ab5dba..099ea04859337bb14e0799df62d607eabc97f9d8 100644 (file)
@@ -280,11 +280,11 @@ public class AltosConvert {
                return 3.3 * mega_adc(sensor) * (100.0 + 27.0) / 27.0;
        }
 
-       static double easy_mini_2_adc(int raw) {
+       static double easy_mini_2_adc(double raw) {
                return raw / 4095.0;
        }
 
-       static double easy_mini_1_adc(int raw) {
+       static double easy_mini_1_adc(double raw) {
                return raw / 32767.0;
        }
 
@@ -323,11 +323,12 @@ public class AltosConvert {
                return (voltage - base) / (max - base) * full_scale_pressure;
        }
 
-       static double easy_motor_2_motor_pressure(int sensor) {
+       static double easy_motor_2_motor_pressure(int sensor, double ground_sensor) {
                double  supply = 3.3;
+               double  ground_voltage = easy_mini_2_adc(ground_sensor) * supply * 15.6 / 10.0;
                double  voltage = easy_mini_2_adc(sensor) * supply * 15.6 / 10.0;
 
-               return motor_pressure(voltage);
+               return motor_pressure(voltage) - motor_pressure(ground_voltage);
        }
 
        public static double radio_to_frequency(int freq, int setting, int cal, int channel) {