From e747156d0ea4b62eea30a8f486ee105ee35dcaf5 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 2 Apr 2013 16:47:07 -0700 Subject: altosui: Don't display missing sensor data For devices without sensors, don't display temperature, barometric and accelerometer-derived values. Signed-off-by: Keith Packard --- altosui/AltosInfoTable.java | 30 ++++++++++++++++++++---------- altosui/AltosPad.java | 13 ++++++++++--- 2 files changed, 30 insertions(+), 13 deletions(-) (limited to 'altosui') diff --git a/altosui/AltosInfoTable.java b/altosui/AltosInfoTable.java index 2facf38a..1dce6daf 100644 --- a/altosui/AltosInfoTable.java +++ b/altosui/AltosInfoTable.java @@ -108,16 +108,26 @@ public class AltosInfoTable extends JTable { if (state == null) return; info_reset(); - info_add_row(0, "Altitude", "%6.0f m", state.altitude); - info_add_row(0, "Pad altitude", "%6.0f m", state.ground_altitude); - info_add_row(0, "Height", "%6.0f m", state.height); - info_add_row(0, "Max height", "%6.0f m", state.max_height); - info_add_row(0, "Acceleration", "%8.1f m/s²", state.acceleration); - info_add_row(0, "Max acceleration", "%8.1f m/s²", state.max_acceleration); - info_add_row(0, "Speed", "%8.1f m/s", state.speed()); - info_add_row(0, "Max Speed", "%8.1f m/s", state.max_accel_speed); - info_add_row(0, "Temperature", "%9.2f °C", state.temperature); - info_add_row(0, "Battery", "%9.2f V", state.battery); + if (state.altitude != AltosRecord.MISSING) + info_add_row(0, "Altitude", "%6.0f m", state.altitude); + if (state.ground_altitude != AltosRecord.MISSING) + info_add_row(0, "Pad altitude", "%6.0f m", state.ground_altitude); + if (state.height != AltosRecord.MISSING) + info_add_row(0, "Height", "%6.0f m", state.height); + if (state.max_height != AltosRecord.MISSING) + info_add_row(0, "Max height", "%6.0f m", state.max_height); + if (state.acceleration != AltosRecord.MISSING) + info_add_row(0, "Acceleration", "%8.1f m/s²", state.acceleration); + if (state.max_acceleration != AltosRecord.MISSING) + info_add_row(0, "Max acceleration", "%8.1f m/s²", state.max_acceleration); + if (state.speed() != AltosRecord.MISSING) + info_add_row(0, "Speed", "%8.1f m/s", state.speed()); + if (state.max_speed() != AltosRecord.MISSING) + info_add_row(0, "Max Speed", "%8.1f m/s", state.max_accel_speed); + if (state.temperature != AltosRecord.MISSING) + info_add_row(0, "Temperature", "%9.2f °C", state.temperature); + if (state.battery != AltosRecord.MISSING) + info_add_row(0, "Battery", "%9.2f V", state.battery); if (state.drogue_sense != AltosRecord.MISSING) info_add_row(0, "Drogue", "%9.2f V", state.drogue_sense); if (state.main_sense != AltosRecord.MISSING) diff --git a/altosui/AltosPad.java b/altosui/AltosPad.java index d13f6945..66cb4cfc 100644 --- a/altosui/AltosPad.java +++ b/altosui/AltosPad.java @@ -168,8 +168,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"); @@ -285,7 +289,10 @@ 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.pad_alt == AltosRecord.MISSING) + hide(); + else + show("%4.0f m", state.pad_alt); } public PadAlt (GridBagLayout layout, int y) { super (layout, y, "Pad Altitude"); -- cgit v1.2.3