diff options
author | Keith Packard <keithp@keithp.com> | 2017-05-28 14:33:28 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2017-05-28 14:33:28 -0700 |
commit | e0f25bcb8c036330e80c1254ab67f0bf323a4a98 (patch) | |
tree | 25cac16ed60a7e8efbf4304d2691bdaa8daf2bb2 /altoslib | |
parent | c075227c3a3c7714fe6f9d48c14dafaf4fed8e5e (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.java | 1 | ||||
-rw-r--r-- | altoslib/AltosEepromRecord.java | 2 | ||||
-rw-r--r-- | altoslib/AltosEepromRecordSet.java | 1 |
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; } } } |