From f51ad734dfccfa2d4b7515a94dc337eb2b2708a2 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 12 Feb 2020 20:05:31 -0800 Subject: [PATCH] altoslib: Store IMU accel ground data in converted values For some reason, this value was in sensor units. Signed-off-by: Keith Packard --- altoslib/AltosEepromRecordMega.java | 6 +++--- altoslib/AltosFlightSeries.java | 14 ++++++++------ altoslib/AltosState.java | 6 +++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/altoslib/AltosEepromRecordMega.java b/altoslib/AltosEepromRecordMega.java index ce9dbc10..b61a6fa0 100644 --- a/altoslib/AltosEepromRecordMega.java +++ b/altoslib/AltosEepromRecordMega.java @@ -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); diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index 32bd6c5e..3edabfcb 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -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); diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 7a64f8a1..b3bcff92 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -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); } -- 2.30.2