summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-05-28 02:06:18 -0700
committerKeith Packard <keithp@keithp.com>2014-05-28 02:06:18 -0700
commit4a5ef9eaa8b809c56813625133120e7e91fc8e65 (patch)
tree7f296d8827b66f5e4c4a6c184dab8cb586afcba2
parent3773e89c47d356c4df58edc5725c33bca89b9605 (diff)
altoslib: When log-format is missing, use product
log-format was added for 1.0; earlier log files don't include that, but do say which product they're from. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altoslib/AltosEepromFile.java11
-rw-r--r--altoslib/AltosEepromHeader.java1
-rw-r--r--altoslib/AltosState.java3
3 files changed, 14 insertions, 1 deletions
diff --git a/altoslib/AltosEepromFile.java b/altoslib/AltosEepromFile.java
index 2a26c484..1664dc95 100644
--- a/altoslib/AltosEepromFile.java
+++ b/altoslib/AltosEepromFile.java
@@ -74,6 +74,15 @@ public class AltosEepromFile extends AltosStateIterable {
start = headers.state();
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:
body = new AltosEepromIterable(AltosEepromTM.read(input));
@@ -120,4 +129,4 @@ public class AltosEepromFile extends AltosStateIterable {
}
return new AltosEepromIterator(state, i);
}
-} \ No newline at end of file
+}
diff --git a/altoslib/AltosEepromHeader.java b/altoslib/AltosEepromHeader.java
index 0d022f46..ea6f5e28 100644
--- a/altoslib/AltosEepromHeader.java
+++ b/altoslib/AltosEepromHeader.java
@@ -53,6 +53,7 @@ public class AltosEepromHeader extends AltosEeprom {
case AltosLib.AO_LOG_MANUFACTURER:
break;
case AltosLib.AO_LOG_PRODUCT:
+ state.product = data;
break;
case AltosLib.AO_LOG_LOG_FORMAT:
state.log_format = config_a;
diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java
index 71263151..9e8e22ac 100644
--- a/altoslib/AltosState.java
+++ b/altoslib/AltosState.java
@@ -614,6 +614,7 @@ public class AltosState implements Cloneable {
public double ground_accel_avg;
public int log_format;
+ public String product;
public AltosMs5607 baro;
@@ -708,6 +709,7 @@ public class AltosState implements Cloneable {
ground_accel_avg = AltosLib.MISSING;
log_format = AltosLib.MISSING;
+ product = null;
serial = AltosLib.MISSING;
receiver_serial = AltosLib.MISSING;
@@ -839,6 +841,7 @@ public class AltosState implements Cloneable {
ground_accel_avg = old.ground_accel_avg;
log_format = old.log_format;
+ product = old.product;
serial = old.serial;
receiver_serial = old.receiver_serial;