X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosPad.java;h=60f5890588cd218a00b6f34d693b060b3221c89a;hp=9a8c8087037ba4ff604d400b36f3ad64c8862c1d;hb=e9a3268285e97b7316c3321892e77814703ff71d;hpb=60f4d69592c440ab7bb67a04f4c07fc7279d2c20 diff --git a/altosui/AltosPad.java b/altosui/AltosPad.java index 9a8c8087..60f58905 100644 --- a/altosui/AltosPad.java +++ b/altosui/AltosPad.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,8 +19,8 @@ package altosui; import java.util.*; -import org.altusmetrum.altoslib_10.*; -import org.altusmetrum.altosuilib_10.*; +import org.altusmetrum.altoslib_13.*; +import org.altusmetrum.altosuilib_13.*; public class AltosPad extends AltosUIFlightTab { @@ -45,10 +46,11 @@ public class AltosPad extends AltosUIFlightTab { class LoggingReady extends AltosUIIndicator { public void show (AltosState state, AltosListenerState listener_state) { - if (state == null || state.flight == AltosLib.MISSING) { + AltosCalData cal_data = state.cal_data(); + if (state == null || cal_data.flight == AltosLib.MISSING) { hide(); } else { - if (state.flight != 0) { + if (cal_data.flight != 0) { if (state.state() <= Altos.ao_flight_pad) show("Ready to record"); else if (state.state() < Altos.ao_flight_landed || @@ -58,7 +60,7 @@ public class AltosPad extends AltosUIFlightTab { show("Recorded data"); } else show("Storage full"); - set_lights(state.flight != 0); + set_lights(cal_data.flight != 0); } } public LoggingReady (AltosUIFlightTab container, int y) { @@ -127,10 +129,8 @@ public class AltosPad extends AltosUIFlightTab { } boolean report_pad(AltosState state) { - if ((state.state() == AltosLib.ao_flight_stateless || - state.state() < AltosLib.ao_flight_pad) && - state.gps != null && - state.gps.lat != AltosLib.MISSING) + if (state.state() == AltosLib.ao_flight_stateless || + state.state() < AltosLib.ao_flight_pad) { return false; } @@ -149,7 +149,7 @@ public class AltosPad extends AltosUIFlightTab { if (report_pad(state)) { lat = state.pad_lat; label = "Pad Latitude"; - } else { + } else if (state.gps != null) { lat = state.gps.lat; label = "Latitude"; } @@ -186,7 +186,7 @@ public class AltosPad extends AltosUIFlightTab { if (report_pad(state)) { lon = state.pad_lon; label = "Pad Longitude"; - } else { + } else if (state.gps != null) { lon = state.gps.lon; label = "Longitude"; } @@ -216,8 +216,10 @@ public class AltosPad extends AltosUIFlightTab { public double value(AltosState state, int i) { if (report_pad(state)) return state.pad_alt; - else + else if (state.gps != null) return state.gps.alt; + else + return state.altitude(); } public void show (AltosState state, AltosListenerState listener_state) {