altosui: Don't display missing sensor data
[fw/altos] / altosui / AltosInfoTable.java
index 8caf5a80b174f48eef9c71060727fc84b8b4e735..1dce6dafbc216493726469b081a4676360359e35 100644 (file)
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package AltosUI;
+package altosui;
 
 import java.awt.*;
-import java.awt.event.*;
 import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
 import javax.swing.table.*;
-import java.io.*;
-import java.util.*;
-import java.text.*;
-import java.util.prefs.*;
-import java.util.concurrent.LinkedBlockingQueue;
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
 
 public class AltosInfoTable extends JTable {
        private AltosFlightInfoTableModel model;
@@ -100,7 +93,7 @@ public class AltosInfoTable extends JTable {
                double  deg = Math.floor(v);
                double  min = (v - deg) * 60;
 
-               info_add_row(col, name, String.format("%3.0f°%08.5f'", deg, min));
+               info_add_row(col, name, String.format("%c %3.0f°%08.5f'", c, deg, min));
        }
 
        void info_finish() {
@@ -115,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.ascent ? state.speed : state.baro_speed);
-               info_add_row(0, "Max Speed", "%8.1f  m/s", state.max_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)
@@ -152,6 +155,7 @@ public class AltosInfoTable extends JTable {
                        info_add_row(1, "GPS height", "%6.0f", state.gps_height);
 
                        /* The SkyTraq GPS doesn't report these values */
+                       /*
                        if (false) {
                                info_add_row(1, "GPS ground speed", "%8.1f m/s %3d°",
                                             state.gps.ground_speed,
@@ -161,6 +165,8 @@ public class AltosInfoTable extends JTable {
                                info_add_row(1, "GPS error", "%6d m(h)%3d m(v)",
                                             state.gps.h_error, state.gps.v_error);
                        }
+                       */
+
                        info_add_row(1, "GPS hdop", "%8.1f", state.gps.hdop);
 
                        if (state.npad > 0) {
@@ -191,7 +197,7 @@ public class AltosInfoTable extends JTable {
                                       state.gps.hour,
                                       state.gps.minute,
                                       state.gps.second);
-                       int     nsat_vis = 0;
+                       //int   nsat_vis = 0;
                        int     c;
 
                        if (state.gps.cc_gps_sat == null)