X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosPad.java;h=eb08525cff68775ef462eebf7e9ebe4c43c7b1fc;hb=6ba0df9b440b69bf5bc5f4e435b431adf303fee2;hp=d13f69458c4705470cfc6cf398af73aee44f7d45;hpb=2120d362cefceba69e75996b6391d9558978c01d;p=fw%2Faltos diff --git a/altosui/AltosPad.java b/altosui/AltosPad.java index d13f6945..eb08525c 100644 --- a/altosui/AltosPad.java +++ b/altosui/AltosPad.java @@ -66,6 +66,10 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { value.setFont(Altos.value_font); } + public void set_label(String text) { + label.setText(text); + } + public LaunchStatus (GridBagLayout layout, int y, String text) { GridBagConstraints c = new GridBagConstraints(); c.weighty = 1; @@ -135,6 +139,10 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { show(String.format(format, v)); } + public void set_label(String text) { + label.setText(text); + } + void reset() { value.setText(""); } @@ -168,8 +176,12 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { class Battery extends LaunchStatus { void show (AltosState state, int crc_errors) { - show("%4.2f V", state.battery); - lights.set(state.battery > 3.7); + if (state.battery == AltosRecord.MISSING) + hide(); + else { + show("%4.2f V", state.battery); + lights.set(state.battery > 3.7); + } } public Battery (GridBagLayout layout, int y) { super(layout, y, "Battery Voltage"); @@ -263,7 +275,13 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { class PadLat extends LaunchValue { void show (AltosState state, int crc_errors) { - show(pos(state.pad_lat,"N", "S")); + if (state.state < AltosLib.ao_flight_pad && state.gps != null) { + show(pos(state.gps.lat,"N", "S")); + set_label("Latitude"); + } else { + show(pos(state.pad_lat,"N", "S")); + set_label("Pad Latitude"); + } } public PadLat (GridBagLayout layout, int y) { super (layout, y, "Pad Latitude"); @@ -274,7 +292,13 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { class PadLon extends LaunchValue { void show (AltosState state, int crc_errors) { - show(pos(state.pad_lon,"E", "W")); + if (state.state < AltosLib.ao_flight_pad && state.gps != null) { + show(pos(state.gps.lon,"E", "W")); + set_label("Longitude"); + } else { + show(pos(state.pad_lon,"E", "W")); + set_label("Pad Longitude"); + } } public PadLon (GridBagLayout layout, int y) { super (layout, y, "Pad Longitude"); @@ -285,7 +309,17 @@ public class AltosPad extends JComponent implements AltosFlightDisplay { class PadAlt extends LaunchValue { void show (AltosState state, int crc_errors) { - show("%4.0f m", state.pad_alt); + if (state.state < AltosLib.ao_flight_pad && state.gps != null) { + show("%4.0f m", state.gps.alt); + set_label("Altitude"); + } else { + if (state.pad_alt == AltosRecord.MISSING) + hide(); + else { + show("%4.0f m", state.pad_alt); + set_label("Pad Altitude"); + } + } } public PadAlt (GridBagLayout layout, int y) { super (layout, y, "Pad Altitude");