altosui: Use recorded ground acceleration when reading eeprom files
authorKeith Packard <keithp@keithp.com>
Sun, 19 Sep 2010 09:50:43 +0000 (02:50 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 19 Sep 2010 09:50:43 +0000 (02:50 -0700)
The flight software records 1000 accelerometer samples and records
that in the flight log. Use that value instead of using the very few
samples recorded in the eeprom before boost is detected. This
generates far more accurate accerometer data in the .csv files.

Signed-off-by: Keith Packard <keithp@keithp.com>
ao-tools/altosui/AltosEepromReader.java

index 4cc8536a64a22bf889b35e26e6bc1e6d6ca9dcb1..03e738124f37e2bafd06f6327b42860f3cc4c1ee 100644 (file)
@@ -95,7 +95,6 @@ public class AltosEepromReader extends AltosReader {
        boolean                 last_reported;
 
        double                  ground_pres;
-       double                  ground_accel;
 
        int                     n_pad_samples;
 
@@ -140,9 +139,6 @@ public class AltosEepromReader extends AltosReader {
                                        ground_pres += state.pres;
                                        state.ground_pres = (int) (ground_pres / n_pad_samples);
                                        state.flight_pres = state.ground_pres;
-                                       ground_accel += state.accel;
-                                       state.ground_accel = (int) (ground_accel / n_pad_samples);
-                                       state.flight_accel = state.ground_accel;
                                } else {
                                        state.flight_pres = (state.flight_pres * 15 + state.pres) / 16;
                                        state.flight_accel = (state.flight_accel * 15 + state.accel) / 16;
@@ -345,6 +341,7 @@ public class AltosEepromReader extends AltosReader {
                                tick = record.tick;
                                if (record.cmd == Altos.AO_LOG_FLIGHT) {
                                        state.ground_accel = record.a;
+                                       state.flight_accel = record.a;
                                        state.flight = record.b;
                                        boost_tick = tick;
                                        seen |= seen_flight;