altoslib: Support TeleGPS v3 monitor idle
[fw/altos] / altoslib / AltosConvert.java
index 099ea04859337bb14e0799df62d607eabc97f9d8..88ee1ad159772d9e613d4ed484375fa0a50c2d2c 100644 (file)
@@ -270,6 +270,12 @@ public class AltosConvert {
                return sensor / 4095.0 * supply * (5.6 + 10.0) / 10.0;
        }
 
+       static double tele_gps_3_voltage(int sensor) {
+               double  supply = 3.3;
+
+               return sensor / 32767.0 * supply * (5.6 + 10.0) / 10.0;
+       }
+
        static double tele_bt_3_battery(int raw) {
                if (raw == AltosLib.MISSING)
                        return AltosLib.MISSING;
@@ -323,6 +329,16 @@ public class AltosConvert {
                return (voltage - base) / (max - base) * full_scale_pressure;
        }
 
+       static double easy_motor_3_adc(double raw) {
+               return raw / 32767.0;
+       }
+
+       static double easy_motor_3_voltage(int sensor) {
+               double  supply = 3.3;
+
+               return easy_motor_3_adc(sensor) * supply * 15.6 / 10.0;
+       }
+
        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;
@@ -331,6 +347,14 @@ public class AltosConvert {
                return motor_pressure(voltage) - motor_pressure(ground_voltage);
        }
 
+       static double easy_motor_3_motor_pressure(int sensor, double ground_sensor) {
+               double  supply = 3.3;
+               double  ground_voltage = easy_motor_3_adc(ground_sensor) * supply * 15.6 / 10.0;
+               double  voltage = easy_motor_3_adc(sensor) * supply * 15.6 / 10.0;
+
+               return motor_pressure(voltage) - motor_pressure(ground_voltage);
+       }
+
        public static double radio_to_frequency(int freq, int setting, int cal, int channel) {
                double  f;