altos: Use factory calibration for all acceleration computations
[fw/altos] / altoslib / AltosState.java
index 6a5b2a46761b34aa00551d375ce177a1e508ccc3..08dafbb4c8ad6d12333e458638e6732abc04aede 100644 (file)
@@ -474,6 +474,10 @@ public class AltosState implements Cloneable {
                return orient.value();
        }
 
+       public double max_orient() {
+               return orient.max();
+       }
+
        public AltosValue       kalman_height, kalman_speed, kalman_acceleration;
 
        public void set_kalman(double height, double speed, double acceleration) {
@@ -945,14 +949,8 @@ public class AltosState implements Cloneable {
        }
 
        void update_accel() {
-               double  ground = ground_accel;
-
-               if (ground == AltosLib.MISSING)
-                       ground = ground_accel_avg;
                if (accel == AltosLib.MISSING)
                        return;
-               if (ground == AltosLib.MISSING)
-                       return;
                if (accel_plus_g == AltosLib.MISSING)
                        return;
                if (accel_minus_g == AltosLib.MISSING)
@@ -960,7 +958,7 @@ public class AltosState implements Cloneable {
 
                double counts_per_g = (accel_minus_g - accel_plus_g) / 2.0;
                double counts_per_mss = counts_per_g / 9.80665;
-               acceleration.set_measured((ground - accel) / counts_per_mss, time);
+               acceleration.set_measured((accel_plus_g - accel) / counts_per_mss, time);
        }
 
        public void set_accel_g(double accel_plus_g, double accel_minus_g) {
@@ -972,10 +970,8 @@ public class AltosState implements Cloneable {
        }
 
        public void set_ground_accel(double ground_accel) {
-               if (ground_accel != AltosLib.MISSING) {
+               if (ground_accel != AltosLib.MISSING)
                        this.ground_accel = ground_accel;
-                       update_accel();
-               }
        }
 
        public void set_accel(double accel) {