X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosFlightStats.java;h=dee31a8d3bcf6f8d3005803b110ead9cb6595236;hb=9acd488c5f945511f813d84c3c6f69846d4601e8;hp=7f0c9adba49e0c4f6b44dde0a2741b7280925d36;hpb=cbd9dd989a662f41ddcb0c9e0f4453840687fd4a;p=fw%2Faltos diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java index 7f0c9adb..dee31a8d 100644 --- a/altosui/AltosFlightStats.java +++ b/altosui/AltosFlightStats.java @@ -36,6 +36,9 @@ public class AltosFlightStats { int hour, minute, second; double lat, lon; double pad_lat, pad_lon; + boolean has_gps; + boolean has_other_adc; + boolean has_rssi; double landed_time(AltosRecordIterable iterable) { AltosState state = null; @@ -101,11 +104,18 @@ public class AltosFlightStats { hour = minute = second = -1; serial = flight = -1; lat = lon = -1; + has_gps = false; + has_other_adc = false; + has_rssi = false; for (AltosRecord record : iterable) { if (serial < 0) serial = record.serial; if ((record.seen & AltosRecord.seen_flight) != 0 && flight < 0) flight = record.flight; + if ((record.seen & AltosRecord.seen_temp_volt) != 0) + has_other_adc = true; + if (record.rssi != 0) + has_rssi = true; new_state = new AltosState(record, state); end_time = new_state.time; state = new_state; @@ -140,13 +150,14 @@ public class AltosFlightStats { max_speed = state.max_baro_speed; max_acceleration = state.max_acceleration; } - if (state.gps.locked && state.gps.nsat >= 4) { + if (state.gps != null && state.gps.locked && state.gps.nsat >= 4) { if (state.state <= Altos.ao_flight_pad) { pad_lat = state.gps.lat; pad_lon = state.gps.lon; } lat = state.gps.lat; lon = state.gps.lon; + has_gps = true; } } for (int s = Altos.ao_flight_startup; s <= Altos.ao_flight_landed; s++) {