X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosEepromRecordFireTwo.java;h=713d0bb71fc182ba45ef9cf11b0cb32d8bfb17ce;hb=4c5acb57d7ac1abec7bb4cda9dc88c2a19767a2d;hp=9b92f1115ffe2f3fa285f0b8b0cbfda593628532;hpb=e67a5c6ffa7174d66e985483fab4bf52ccaea5ca;p=fw%2Faltos diff --git a/altoslib/AltosEepromRecordFireTwo.java b/altoslib/AltosEepromRecordFireTwo.java index 9b92f111..713d0bb7 100644 --- a/altoslib/AltosEepromRecordFireTwo.java +++ b/altoslib/AltosEepromRecordFireTwo.java @@ -27,8 +27,6 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord { /* AO_LOG_FLIGHT elements */ public int flight() { return data16(0); } - public int idle_pres() { return data16(2); } - public int idle_thrust() { return data16(4); } /* AO_LOG_STATE elements */ public int state() { return data16(0); } @@ -59,7 +57,7 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord { if (v < 0.5) v = 0.5; if (v > 4.5) v = 4.5; - double psi = (v - 0.5) / 4.0 * 1600.0; + double psi = (v - 0.5) / 4.0 * 2500.0; return AltosConvert.psi_to_pa(psi); } @@ -70,29 +68,28 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord { return AltosConvert.lb_to_n(v * 298 * 9.807); } - public void update_state(AltosState state) { - super.update_state(state); + public void provide_data(AltosDataListener listener, AltosCalData cal_data) { + super.provide_data(listener, cal_data); switch (cmd()) { case AltosLib.AO_LOG_FLIGHT: - state.set_flight(flight()); - state.set_ground_pressure(adc_to_pa(idle_pres())); - state.set_accel_g(0, -1); + cal_data.set_flight(flight()); break; case AltosLib.AO_LOG_STATE: - state.set_state(state()); + listener.set_state(state()); break; case AltosLib.AO_LOG_SENSOR: - state.set_pressure(adc_to_pa(pres())); - state.set_accel(adc_to_n(thrust())); + listener.set_pressure(adc_to_pa(pres())); + listener.set_thrust(adc_to_n(thrust())); break; } } public AltosEepromRecord next() { - if (start + length + length < eeprom.data.size()) - return new AltosEepromRecordFireTwo(eeprom, start + length); - return null; + int s = next_start(); + if (s < 0) + return null; + return new AltosEepromRecordFireTwo(eeprom, s); } public AltosEepromRecordFireTwo(AltosEepromNew eeprom, int start) {