From 95952059bbb50b5f22460418df003a87c8bd3271 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 12 Sep 2017 15:47:43 -0700 Subject: test/ao_flight_test: Show recorded pyro firing Can compare with computed values. Signed-off-by: Keith Packard --- src/test/ao_flight_test.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/ao_flight_test.c b/src/test/ao_flight_test.c index 8e69730e..298848d6 100644 --- a/src/test/ao_flight_test.c +++ b/src/test/ao_flight_test.c @@ -344,8 +344,10 @@ struct ao_cmds { #include struct ao_ms5607_prom ao_ms5607_prom; #include "ao_ms5607_convert.c" +#if TELEMEGA #define AO_PYRO_NUM 4 #include +#endif #else #include "ao_convert.c" #endif @@ -427,6 +429,9 @@ static double ao_test_landed_time; static int landed_set; static double landed_time; static double landed_height; +#if AO_PYRO_NUM +static uint16_t pyros_fired; +#endif #if HAS_MPU6000 static struct ao_mpu6000_sample ao_ground_mpu6000; @@ -825,6 +830,10 @@ ao_sleep(void *wchan) ao_insert(); return; case AO_LOG_TEMP_VOLT: + if (pyros_fired != log_mega->u.volt.pyro) { + printf("pyro changed %x -> %x\n", pyros_fired, log_mega->u.volt.pyro); + pyros_fired = log_mega->u.volt.pyro; + } break; case AO_LOG_GPS_TIME: ao_gps_prev = ao_gps_static; -- cgit v1.2.3 From b9a00856aa4cf55ae4a143288058094ef8061134 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 18 Sep 2017 09:57:06 -0700 Subject: telegps: Fix up TeleGPS UI bits after accel cal changes Signed-off-by: Keith Packard --- telegps/TeleGPSConfigUI.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/telegps/TeleGPSConfigUI.java b/telegps/TeleGPSConfigUI.java index 88ced192..87683c2b 100644 --- a/telegps/TeleGPSConfigUI.java +++ b/telegps/TeleGPSConfigUI.java @@ -619,7 +619,7 @@ public class TeleGPSConfigUI return true; } - void set_dirty() { + public void set_dirty() { dirty = true; save.setEnabled(true); } @@ -634,6 +634,17 @@ public class TeleGPSConfigUI super.dispose(); } + public int accel_cal_plus() { + return AltosLib.MISSING; + } + + public int accel_cal_minus() { + return AltosLib.MISSING; + } + + public void set_accel_cal(int accel_plus, int accel_minus) { + } + /* Listen for events from our buttons */ public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); -- cgit v1.2.3 From 4f2cbe0c537c9f417aae310cc3b89f84e0915103 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 18 Sep 2017 09:57:41 -0700 Subject: altoslib: Avoid crashing when computing stats for empty flight logs Signed-off-by: Keith Packard --- altoslib/AltosFlightStats.java | 20 ++++++++++++-------- altoslib/AltosTimeSeries.java | 8 ++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/altoslib/AltosFlightStats.java b/altoslib/AltosFlightStats.java index c2e4e2a3..ea1a9675 100644 --- a/altoslib/AltosFlightStats.java +++ b/altoslib/AltosFlightStats.java @@ -212,8 +212,11 @@ public class AltosFlightStats { add_times(series, (int) prev.value, prev.time, state.time); prev = state; } - if (prev != null) - add_times(series, (int) prev.value, prev.time, series.accel_series.last().time); + if (prev != null) { + AltosTimeValue last_accel = series.accel_series.last(); + if (last_accel != null) + add_times(series, (int) prev.value, prev.time, last_accel.time); + } } for (int s = 0; s <= AltosLib.ao_flight_invalid; s++) { @@ -245,14 +248,15 @@ public class AltosFlightStats { has_gps = true; lat = pad_lat = gps.lat; lon = pad_lon = gps.lon; - for (AltosGPSTimeValue gtv : series.gps_series) { - gps = gtv.gps; - if (gps.locked && gps.nsat >= 4) { - lat = gps.lat; - lon = gps.lon; + if (series.gps_series != null) { + for (AltosGPSTimeValue gtv : series.gps_series) { + gps = gtv.gps; + if (gps.locked && gps.nsat >= 4) { + lat = gps.lat; + lon = gps.lon; + } } } - } max_height = AltosLib.MISSING; diff --git a/altoslib/AltosTimeSeries.java b/altoslib/AltosTimeSeries.java index b3c432fc..9f3b4d80 100644 --- a/altoslib/AltosTimeSeries.java +++ b/altoslib/AltosTimeSeries.java @@ -151,11 +151,15 @@ public class AltosTimeSeries implements Iterable, Comparable 0) + return values.get(0); + return null; } public AltosTimeValue last() { - return values.get(values.size() - 1); + if (values.size() > 0) + return values.get(values.size() - 1); + return null; } public double average() { -- cgit v1.2.3