altoslib: Missing config values now AltosLib.MISSING, not zero or negative
[fw/altos] / altoslib / AltosConvert.java
index 5b3ff39187d3a8452e149287361aaa7eb83d7ac4..0d25c6d76d0eb50061a4938c4f5d9ed418a83524 100644 (file)
@@ -184,6 +184,18 @@ public class AltosConvert {
                return altitude;
        }
 
+       public static double degrees_to_radians(double degrees) {
+               if (degrees == AltosLib.MISSING)
+                       return AltosLib.MISSING;
+               return degrees * (Math.PI / 180.0);
+       }
+
+       public static double radians_to_degrees(double radians) {
+               if (radians == AltosLib.MISSING)
+                       return AltosLib.MISSING;
+               return radians * (180.0 / Math.PI);
+       }
+
        public static double
        cc_battery_to_voltage(double battery)
        {
@@ -392,6 +404,7 @@ public class AltosConvert {
        }
 
        public static double acceleration_from_sensor(double sensor, double plus_g, double minus_g, double ground) {
+
                if (sensor == AltosLib.MISSING)
                        return AltosLib.MISSING;
 
@@ -403,6 +416,10 @@ public class AltosConvert {
 
                double counts_per_g = (plus_g - minus_g) / 2.0;
                double counts_per_mss = counts_per_g / gravity;
+
+               if (counts_per_mss == 0)
+                       return AltosLib.MISSING;
+
                return (sensor - ground) / counts_per_mss;
        }