diff options
author | Keith Packard <keithp@keithp.com> | 2011-07-06 21:38:57 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-07-06 21:38:57 -0700 |
commit | 8f80f5705d64469bcfb00ff11aee68364edb271b (patch) | |
tree | 9db032cfcb647951259c9ff7f0deabea682271cf /altosui/AltosDescent.java | |
parent | 80ca066a825646f833ca609190c76c5252118d9a (diff) |
altosui: Don't show missing igniter and gps values
The new telemetry stuff leaves state.gps always set (but empty), which
seems fine, we just need to look at state.gps.connected to see if
there's a GPS receiver on board.
For TeleNano, we also want to hide the igniter status fields as they
won't have any data present.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosDescent.java')
-rw-r--r-- | altosui/AltosDescent.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/altosui/AltosDescent.java b/altosui/AltosDescent.java index addd6878..2a9e7eef 100644 --- a/altosui/AltosDescent.java +++ b/altosui/AltosDescent.java @@ -258,7 +258,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay { class Lat extends DescentValue { void show (AltosState state, int crc_errors) { - if (state.gps != null) + if (state.gps != null && state.gps.connected) show(pos(state.gps.lat,"N", "S")); else show("???"); @@ -272,7 +272,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay { class Lon extends DescentValue { void show (AltosState state, int crc_errors) { - if (state.gps != null) + if (state.gps != null && state.gps.connected) show(pos(state.gps.lon,"W", "E")); else show("???"); @@ -286,6 +286,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay { class Apogee extends DescentStatus { void show (AltosState state, int crc_errors) { + show(); value.setText(String.format("%4.2f V", state.drogue_sense)); lights.set(state.drogue_sense > 3.2); } @@ -363,7 +364,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay { public void show(AltosState state, int crc_errors) { height.show(state, crc_errors); speed.show(state, crc_errors); - if (state.gps != null) { + if (state.gps != null && state.gps.connected) { bearing.show(state, crc_errors); range.show(state, crc_errors); elevation.show(state, crc_errors); @@ -376,8 +377,14 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay { lat.hide(); lon.hide(); } - main.show(state, crc_errors); - apogee.show(state, crc_errors); + if (state.main_sense != AltosRecord.MISSING) + main.show(state, crc_errors); + else + main.hide(); + if (state.drogue_sense != AltosRecord.MISSING) + apogee.show(state, crc_errors); + else + apogee.hide(); } public AltosDescent() { |