altoslib,altosuilib: Bump library version numbers
[fw/altos] / altosuilib / AltosInfoTable.java
index ce986ac598b0097d2582a989388a898c20eaa7d9..41614cfa7e54d585306004ee9db17917bacf5ae4 100644 (file)
@@ -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
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_12;
 
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.table.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_12.*;
 
 public class AltosInfoTable extends JTable implements AltosFlightDisplay, HierarchyListener {
        private AltosFlightInfoTableModel model;
@@ -127,6 +128,8 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar
 
        public void show(AltosState state, AltosListenerState listener_state) {
 
+               AltosCalData    cal_data = state.cal_data;
+
                if (!isShowing()) {
                        last_state = state;
                        last_listener_state = listener_state;
@@ -135,12 +138,14 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar
 
                reset();
                if (state != null) {
-                       if (state.device_type != AltosLib.MISSING)
-                               info_add_row(0, "Device", "%s", AltosLib.product_name(state.device_type));
+                       if (cal_data.device_type != AltosLib.MISSING)
+                               info_add_row(0, "Device", "%s", AltosLib.product_name(cal_data.device_type));
+                       else if (cal_data.product != null)
+                               info_add_row(0, "Device", "%s", cal_data.product);
                        if (state.altitude() != AltosLib.MISSING)
                                info_add_row(0, "Altitude", "%6.0f    m", state.altitude());
-                       if (state.ground_altitude() != AltosLib.MISSING)
-                               info_add_row(0, "Pad altitude", "%6.0f    m", state.ground_altitude());
+                       if (cal_data.ground_altitude != AltosLib.MISSING)
+                               info_add_row(0, "Pad altitude", "%6.0f    m", cal_data.ground_altitude);
                        if (state.height() != AltosLib.MISSING)
                                info_add_row(0, "Height", "%6.0f    m", state.height());
                        if (state.max_height() != AltosLib.MISSING)
@@ -198,24 +203,28 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar
                                if (state.gps_height != AltosLib.MISSING)
                                        info_add_row(1, "GPS height", "%8.1f", 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,
-                                 state.gps.course);
-                                 info_add_row(1, "GPS climb rate", "%8.1f m/s",
-                                 state.gps.climb_rate);
-                                 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.gps.ground_speed != AltosLib.MISSING && state.gps.course != AltosLib.MISSING)
+                                       info_add_row(1, "GPS ground speed", "%6.1f m/s %3d°",
+                                                    state.gps.ground_speed,
+                                                    state.gps.course);
+                               if (state.gps.climb_rate != AltosLib.MISSING)
+                                       info_add_row(1, "GPS climb rate", "%6.1f m/s",
+                                                    state.gps.climb_rate);
+
+                               if (state.gps.h_error != AltosLib.MISSING && state.gps.v_error != AltosLib.MISSING)
+                                       info_add_row(1, "GPS error", "%6.0f m(h)%6.0f m(v)",
+                                                    state.gps.h_error, state.gps.v_error);
+                               if (state.gps.pdop != AltosLib.MISSING &&
+                                   state.gps.hdop != AltosLib.MISSING &&
+                                   state.gps.vdop != AltosLib.MISSING)
+                                       info_add_row(1, "GPS dop", "%3.1fp/%3.1fh/%3.1fv",
+                                                    state.gps.pdop,
+                                                    state.gps.hdop,
+                                                    state.gps.vdop);
 
                                if (state.npad > 0) {
                                        if (state.from_pad != null) {
-                                               info_add_row(1, "Distance from pad", "%6d m",
+                                               info_add_row(1, "Ground pad dist", "%6d m",
                                                             (int) (state.from_pad.distance + 0.5));
                                                info_add_row(1, "Direction from pad", "%6d°",
                                                             (int) (state.from_pad.bearing + 0.5));
@@ -234,12 +243,12 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar
                                        info_add_row(1, "Pad GPS alt", "%6.0f m", state.pad_alt);
                                }
                                if (state.gps.year != AltosLib.MISSING)
-                                       info_add_row(1, "GPS date", "%04d-%02d-%02d",
+                                       info_add_row(2, "GPS date", "%04d-%02d-%02d",
                                                     state.gps.year,
                                                     state.gps.month,
                                                     state.gps.day);
                                if (state.gps.hour != AltosLib.MISSING)
-                                       info_add_row(1, "GPS time", "  %02d:%02d:%02d",
+                                       info_add_row(2, "GPS time", "  %02d:%02d:%02d",
                                                     state.gps.hour,
                                                     state.gps.minute,
                                                     state.gps.second);