altoslib: Reset transient AltosCalData values before processing data
[fw/altos] / altoslib / AltosEepromRecordSet.java
index 69159cdf905a02ab7945e1394b33bf1082c0ffee..7b111ed3d18d9d0cfa86df3eeb21d1321eba6001 100644 (file)
@@ -33,6 +33,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                                if (record.cmd() == AltosLib.AO_LOG_FLIGHT) {
                                        cal_data.set_tick(record.tick());
                                        cal_data.set_boost_tick();
+                                       break;
                                }
                        }
                }
@@ -41,9 +42,12 @@ public class AltosEepromRecordSet implements AltosRecordSet {
 
        public void capture_series(AltosDataListener listener) {
                AltosCalData    cal_data = cal_data();
+
+               cal_data.reset();
                for (AltosEepromRecord record : ordered) {
                        record.provide_data(listener, cal_data);
                }
+               listener.finish();
        }
 
        public AltosEepromRecordSet(AltosEepromNew eeprom) {
@@ -109,7 +113,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                }
        }
 
-       public AltosEepromRecordSet(Reader input) throws IOException {
+       public AltosEepromRecordSet(InputStream input) throws IOException {
                this(new AltosEepromNew(input));
        }
 }