altoslib/altosuilib/altosui: More work towards using AltosFlightSeries for analysis
[fw/altos] / altoslib / AltosEepromRecord.java
index c0edb9526bf235a80a2c7b557054aa97e5f29f77..7dd3759233d888b12a989e5c8bd9cc4761fe35c8 100644 (file)
@@ -14,7 +14,6 @@
 
 package org.altusmetrum.altoslib_11;
 
-
 public abstract class AltosEepromRecord implements Comparable<AltosEepromRecord> {
 
        AltosEepromNew          eeprom;
@@ -65,6 +64,10 @@ public abstract class AltosEepromRecord implements Comparable<AltosEepromRecord>
                return 1;
        }
 
+       public AltosConfigData config_data() {
+               return eeprom.config_data();
+       }
+
        public int compareTo(AltosEepromRecord o) {
                int     cmd_diff = cmdi() - o.cmdi();
 
@@ -78,17 +81,18 @@ public abstract class AltosEepromRecord implements Comparable<AltosEepromRecord>
                return start - o.start;
        }
 
-       public void update_state(AltosState state) {
+       /* AltosDataProvider */
+       public void provide_data(AltosDataListener listener, AltosCalData cal_data) {
+               cal_data.set_tick(tick());
                if (cmd() == AltosLib.AO_LOG_FLIGHT)
-                       state.set_boost_tick(tick());
-               else
-                       state.set_tick(tick());
+                       cal_data.set_boost_tick();
+               listener.set_time(cal_data.time());
        }
 
        public int next_start() {
                int     s = start + length;
 
-               while (s + length < eeprom.data.size()) {
+               while (s + length <= eeprom.data.size()) {
                        if (valid(s))
                                return s;
                        s += length;