altoslib: Store IMU accel ground data in converted values
authorKeith Packard <keithp@keithp.com>
Thu, 13 Feb 2020 04:05:31 +0000 (20:05 -0800)
committerKeith Packard <keithp@keithp.com>
Thu, 13 Feb 2020 04:53:51 +0000 (20:53 -0800)
For some reason, this value was in sensor units.

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

index ce9dbc109e4955c40766c484b738e1d51aa947f4..b61a6fa0f6d30178b589446b8335b951101473aa 100644 (file)
@@ -217,9 +217,9 @@ public class AltosEepromRecordMega extends AltosEepromRecord {
                        cal_data.set_flight(flight());
                        cal_data.set_ground_accel(ground_accel());
                        cal_data.set_ground_pressure(ground_pres());
-                       listener.set_accel_ground(ground_accel_along(),
-                                                 ground_accel_across(),
-                                                 ground_accel_through());
+                       listener.set_accel_ground(cal_data.accel_along(ground_accel_along()),
+                                                 cal_data.accel_across(ground_accel_across()),
+                                                 cal_data.accel_through(ground_accel_through()));
                        cal_data.set_gyro_zero(ground_roll() / 512.0,
                                               ground_pitch() / 512.0,
                                               ground_yaw() / 512.0);
index 32bd6c5ef63f6aae98d0fef1fb0141f45efc7fcd..3edabfcbfa8b90c7f18b0422c367afdad603becc 100644 (file)
@@ -391,16 +391,18 @@ public class AltosFlightSeries extends AltosDataListener {
                if (accel_ground_across == AltosLib.MISSING)
                        return;
 
-               if (cal_data().pad_orientation == AltosLib.MISSING)
+               AltosCalData cal_data = cal_data();
+
+               if (cal_data.pad_orientation == AltosLib.MISSING)
                        return;
 
-               if (cal_data().accel_zero_across == AltosLib.MISSING)
+               if (cal_data.accel_zero_across == AltosLib.MISSING)
                        return;
 
-               AltosRotation rotation = new AltosRotation(AltosIMU.convert_accel(accel_ground_across - cal_data().accel_zero_across),
-                                                          AltosIMU.convert_accel(accel_ground_through - cal_data().accel_zero_through),
-                                                          AltosIMU.convert_accel(accel_ground_along - cal_data().accel_zero_along),
-                                                          cal_data().pad_orientation);
+               AltosRotation rotation = new AltosRotation(accel_ground_across,
+                                                          accel_ground_through,
+                                                          accel_ground_along,
+                                                          cal_data.pad_orientation);
                double prev_time = ground_time;
 
                orient_series = add_series(orient_name, AltosConvert.orient);
index 7a64f8a188182704c5aa6fbd01e17fb627eef5e5..b3bcff925cfe9ed390cbb0ae46ad4d0ebccfed0d 100644 (file)
@@ -903,9 +903,9 @@ public class AltosState extends AltosDataListener {
 
        void update_pad_rotation() {
                if (cal_data().pad_orientation != AltosLib.MISSING && accel_ground_along != AltosLib.MISSING) {
-                       rotation = new AltosRotation(AltosIMU.convert_accel(accel_ground_across - cal_data().accel_zero_across),
-                                                    AltosIMU.convert_accel(accel_ground_through - cal_data().accel_zero_through),
-                                                    AltosIMU.convert_accel(accel_ground_along - cal_data().accel_zero_along),
+                       rotation = new AltosRotation(accel_ground_across,
+                                                    accel_ground_through,
+                                                    accel_ground_along,
                                                     cal_data().pad_orientation);
                        orient.set_computed(rotation.tilt(), time);
                }