Merge branch 'master' of git://git.gag.com/fw/altos
[fw/altos] / ao-tools / altosui / AltosEepromReader.java
index f1d6a6a7d8124b416f0e96246e3dbcf9730ba82e..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;
@@ -391,6 +388,11 @@ public class AltosEepromReader extends AltosReader {
                                        }
                                }
                                records.add(record);
+
+                               /* Bail after reading the 'landed' record; we're all done */
+                               if (record.cmd == Altos.AO_LOG_STATE &&
+                                   record.a == Altos.ao_flight_landed)
+                                       break;
                        }
                } catch (IOException io) {
                } catch (ParseException pe) {