summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-05-28 14:33:28 -0700
committerKeith Packard <keithp@keithp.com>2017-05-28 14:33:28 -0700
commite0f25bcb8c036330e80c1254ab67f0bf323a4a98 (patch)
tree25cac16ed60a7e8efbf4304d2691bdaa8daf2bb2 /altoslib
parentc075227c3a3c7714fe6f9d48c14dafaf4fed8e5e (diff)
altoslib: Handle eeprom tick wrapping
Need to deal with eeprom files with tick values that cross the 16-bit barrier. Use 'wide_tick' to order eeprom record. Remeber 'prev_tick' to order cal data time sequence. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosCalData.java1
-rw-r--r--altoslib/AltosEepromRecord.java2
-rw-r--r--altoslib/AltosEepromRecordSet.java1
3 files changed, 3 insertions, 1 deletions
diff --git a/altoslib/AltosCalData.java b/altoslib/AltosCalData.java
index 960de30a..54b75817 100644
--- a/altoslib/AltosCalData.java
+++ b/altoslib/AltosCalData.java
@@ -172,6 +172,7 @@ public class AltosCalData {
tick += 65536;
}
}
+ prev_tick = tick;
this.tick = tick;
}
}
diff --git a/altoslib/AltosEepromRecord.java b/altoslib/AltosEepromRecord.java
index 7a0cc8f9..75fe5381 100644
--- a/altoslib/AltosEepromRecord.java
+++ b/altoslib/AltosEepromRecord.java
@@ -74,7 +74,7 @@ public abstract class AltosEepromRecord implements Comparable<AltosEepromRecord>
if (cmd_diff != 0)
return cmd_diff;
- int tick_diff = tick() - o.tick();
+ int tick_diff = wide_tick - o.wide_tick;
if (tick_diff != 0)
return tick_diff;
diff --git a/altoslib/AltosEepromRecordSet.java b/altoslib/AltosEepromRecordSet.java
index 0c60c1a5..c019a092 100644
--- a/altoslib/AltosEepromRecordSet.java
+++ b/altoslib/AltosEepromRecordSet.java
@@ -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;
}
}
}