altoslib: Add support for EasyMega-v2
[fw/altos] / altoslib / AltosEepromRecordSet.java
index 48e90c055e0269be6136385ac50935e411d4505e..e26a1e00205d2c8980f38f08b1bf00948f045169 100644 (file)
@@ -12,7 +12,7 @@
  * General Public License for more details.
  */
 
-package org.altusmetrum.altoslib_12;
+package org.altusmetrum.altoslib_13;
 
 import java.io.*;
 import java.util.*;
@@ -44,6 +44,8 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                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);
                }
@@ -67,7 +69,9 @@ 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:
+               case AltosLib.AO_LOG_FORMAT_EASYMEGA_2:
                        record = new AltosEepromRecordMega(eeprom);
                        break;
                case AltosLib.AO_LOG_FORMAT_TELEMETRUM:
@@ -95,7 +99,7 @@ public class AltosEepromRecordSet implements AltosRecordSet {
                int     tick = 0;
                boolean first = true;
 
-               for (;;) {
+               do {
                        int     t = record.tick();
 
                        if (first) {
@@ -108,10 +112,8 @@ 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 {