X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosFlightStats.java;h=da06bb3d3ea1f4de9d5de38fb0fa690503c3c357;hp=0f32ae5e5b23f4c394c5b80cd80107fa9b895d38;hb=2120d362cefceba69e75996b6391d9558978c01d;hpb=bf88c5f829ea5d32043431945e862a9f6c96740a diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java index 0f32ae5e..da06bb3d 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.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) {