summaryrefslogtreecommitdiff
path: root/altoslib/AltosEepromFile.java
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib/AltosEepromFile.java')
-rw-r--r--altoslib/AltosEepromFile.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/altoslib/AltosEepromFile.java b/altoslib/AltosEepromFile.java
index 91ffc223..b7e446ce 100644
--- a/altoslib/AltosEepromFile.java
+++ b/altoslib/AltosEepromFile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_3;
+package org.altusmetrum.altoslib_4;
import java.io.*;
import java.util.*;
@@ -72,7 +72,17 @@ public class AltosEepromFile extends AltosStateIterable {
headers = new AltosEepromIterable(AltosEepromHeader.read(input));
start = headers.state();
- start.set_state(AltosLib.ao_flight_pad);
+ if (start.state != AltosLib.ao_flight_stateless)
+ start.set_state(AltosLib.ao_flight_pad);
+
+ if (start.log_format == AltosLib.MISSING) {
+ if (start.product != null) {
+ if (start.product.startsWith("TeleMetrum"))
+ start.log_format = AltosLib.AO_LOG_FORMAT_FULL;
+ else if (start.product.startsWith("TeleMini"))
+ start.log_format = AltosLib.AO_LOG_FORMAT_TINY;
+ }
+ }
switch (start.log_format) {
case AltosLib.AO_LOG_FORMAT_FULL:
@@ -93,6 +103,9 @@ public class AltosEepromFile extends AltosStateIterable {
case AltosLib.AO_LOG_FORMAT_EASYMINI:
body = new AltosEepromIterable(AltosEepromMini.read(input));
break;
+ case AltosLib.AO_LOG_FORMAT_TELEGPS:
+ body = new AltosEepromIterable(AltosEepromGPS.read(input));
+ break;
default:
body = new AltosEepromIterable(new LinkedList<AltosEeprom>());
break;
@@ -120,4 +133,4 @@ public class AltosEepromFile extends AltosStateIterable {
}
return new AltosEepromIterator(state, i);
}
-} \ No newline at end of file
+}