altoslib: Clarify terms in Mega pyro config
[fw/altos] / altoslib / AltosEepromRecordSet.java
index 0c60c1a5ab5b8db2196a626b3a22a822b0b55748..360759314d4bf9e123bf2e109271f66beb6375ff 100644 (file)
  * General Public License for more details.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_12;
 
 import java.io.*;
 import java.util.*;
 
 public class AltosEepromRecordSet implements AltosRecordSet {
-       AltosEepromNew                  eeprom;
+       AltosEeprom                     eeprom;
        TreeSet<AltosEepromRecord>      ordered;
        AltosCalData                    cal_data;
 
@@ -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,13 +42,17 @@ public class AltosEepromRecordSet implements AltosRecordSet {
 
        public void capture_series(AltosDataListener listener) {
                AltosCalData    cal_data = cal_data();
+
+               cal_data.reset();
+               listener.set_log_format(config_data().log_format);
+
                for (AltosEepromRecord record : ordered) {
                        record.provide_data(listener, cal_data);
                }
                listener.finish();
        }
 
-       public AltosEepromRecordSet(AltosEepromNew eeprom) {
+       public AltosEepromRecordSet(AltosEeprom eeprom) {
                this.eeprom = eeprom;
 
                AltosConfigData         config_data = eeprom.config_data();
@@ -64,6 +69,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                case AltosLib.AO_LOG_FORMAT_TELEMETRY:
                case AltosLib.AO_LOG_FORMAT_TELESCIENCE:
                case AltosLib.AO_LOG_FORMAT_TELEMEGA:
+               case AltosLib.AO_LOG_FORMAT_TELEMEGA_3:
                case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD:
                        record = new AltosEepromRecordMega(eeprom);
                        break;
@@ -72,7 +78,8 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                        break;
                case AltosLib.AO_LOG_FORMAT_TELEMINI2:
                case AltosLib.AO_LOG_FORMAT_TELEMINI3:
-               case AltosLib.AO_LOG_FORMAT_EASYMINI:
+               case AltosLib.AO_LOG_FORMAT_EASYMINI1:
+               case AltosLib.AO_LOG_FORMAT_EASYMINI2:
                        record = new AltosEepromRecordMini(eeprom);
                        break;
                case AltosLib.AO_LOG_FORMAT_TELEGPS:
@@ -91,7 +98,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                int     tick = 0;
                boolean first = true;
 
-               for (;;) {
+               do {
                        int     t = record.tick();
 
                        if (first) {
@@ -104,13 +111,11 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                        }
                        record.wide_tick = tick;
                        ordered.add(record);
-                       if (!record.hasNext())
-                               break;
                        record = record.next();
-               }
+               } while (record != null);
        }
 
        public AltosEepromRecordSet(InputStream input) throws IOException {
-               this(new AltosEepromNew(input));
+               this(new AltosEeprom(input));
        }
 }