From 5ff0442702ee41179341240b1bbf290be89e1718 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 13 Feb 2020 15:06:45 -0800 Subject: [PATCH] altoslib: Re-initialize cal data for eeprom record set Instead of leaving it uninitialized, restore the initial data from the flight log. Signed-off-by: Keith Packard --- altoslib/AltosEepromRecordSet.java | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/altoslib/AltosEepromRecordSet.java b/altoslib/AltosEepromRecordSet.java index fcf224f3..94a4f643 100644 --- a/altoslib/AltosEepromRecordSet.java +++ b/altoslib/AltosEepromRecordSet.java @@ -27,24 +27,32 @@ public class AltosEepromRecordSet implements AltosRecordSet { return eeprom.config_data(); } + private void init_cal_data() { + for (AltosEepromRecord record : ordered) { + if (record.cmd() == AltosLib.AO_LOG_FLIGHT) { + cal_data.set_tick(record.tick()); + cal_data.set_boost_tick(); + cal_data.set_state(AltosLib.ao_flight_pad); + break; + } + } + } + public AltosCalData cal_data() { if (cal_data == null) { cal_data = new AltosCalData(config_data()); - for (AltosEepromRecord record : ordered) { - if (record.cmd() == AltosLib.AO_LOG_FLIGHT) { - cal_data.set_tick(record.tick()); - cal_data.set_boost_tick(); - break; - } - } + init_cal_data(); } return cal_data; } public void capture_series(AltosDataListener listener) { - AltosCalData cal_data = cal_data(); - - cal_data.reset(); + if (cal_data == null) { + cal_data(); + } else { + cal_data.reset(); + init_cal_data(); + } listener.set_log_format(config_data().log_format); for (AltosEepromRecord record : ordered) { -- 2.30.2