From ecebb3902868d1d7485d2bc99ba4140c6b90567e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 30 Apr 2014 21:30:46 -0700 Subject: [PATCH] altoslib: Track pyro firing state when reading mega eeprom files TeleMega records whether each pyro has been fired in the eeprom file; track that in the AltosState record. Signed-off-by: Keith Packard --- altoslib/AltosEepromMega.java | 1 + altoslib/AltosState.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/altoslib/AltosEepromMega.java b/altoslib/AltosEepromMega.java index 35e87885..da5f2a3e 100644 --- a/altoslib/AltosEepromMega.java +++ b/altoslib/AltosEepromMega.java @@ -150,6 +150,7 @@ public class AltosEepromMega extends AltosEeprom { voltages[i] = AltosConvert.mega_pyro_voltage(sense(i)); state.set_ignitor_voltage(voltages); + state.set_pyro_fired(pyro()); break; case AltosLib.AO_LOG_GPS_TIME: state.set_tick(tick); diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index d65e3bd8..4dbd751b 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -619,6 +619,8 @@ public class AltosState implements Cloneable { public AltosCompanion companion; + public int pyro_fired; + public void set_npad(int npad) { this.npad = npad; gps_waiting = MIN_PAD_SAMPLES - npad; @@ -711,6 +713,8 @@ public class AltosState implements Cloneable { baro = null; companion = null; + + pyro_fired = 0; } void finish_update() { @@ -840,6 +844,8 @@ public class AltosState implements Cloneable { baro = old.baro; companion = old.companion; + + pyro_fired = old.pyro_fired; } void update_time() { @@ -1114,6 +1120,10 @@ public class AltosState implements Cloneable { this.ignitor_voltage = voltage; } + public void set_pyro_fired(int fired) { + this.pyro_fired = fired; + } + public double time_since_boost() { if (tick == AltosLib.MISSING) return 0.0; -- 2.30.2