X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosFlightStats.java;h=dee31a8d3bcf6f8d3005803b110ead9cb6595236;hb=9acd488c5f945511f813d84c3c6f69846d4601e8;hp=0f32ae5e5b23f4c394c5b80cd80107fa9b895d38;hpb=8d1d8d2a3c129cdbd55427bcda0f26715b02f1ee;p=fw%2Faltos diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java index 0f32ae5e..dee31a8d 100644 --- a/altosui/AltosFlightStats.java +++ b/altosui/AltosFlightStats.java @@ -34,6 +34,11 @@ public class AltosFlightStats { int flight; int year, month, day; 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; @@ -98,11 +103,19 @@ public class AltosFlightStats { year = month = day = -1; 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; @@ -137,6 +150,15 @@ public class AltosFlightStats { max_speed = state.max_baro_speed; max_acceleration = state.max_acceleration; } + 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++) { if (state_count[s] > 0) {