telegps: use new eeprom reading code
[fw/altos] / telegps / TeleGPSConfigUI.java
index 0189a8092e998eca49eb63f5158f0ba0bedc2088..dd3965b48960597ac70ca5525fc47abf9dfbb7d7 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
 
 package org.altusmetrum.telegps;
 
+import java.text.*;
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
-import org.altusmetrum.altoslib_6.*;
-import org.altusmetrum.altosuilib_6.*;
+import org.altusmetrum.altoslib_11.*;
+import org.altusmetrum.altosuilib_11.*;
 
 public class TeleGPSConfigUI
        extends AltosUIDialog
@@ -53,7 +55,7 @@ public class TeleGPSConfigUI
        JLabel                  version_value;
        JLabel                  serial_value;
        AltosUIFreqList         radio_frequency_value;
-       JTextField              radio_calibration_value;
+       JLabel                  radio_calibration_value;
        JRadioButton            radio_enable_value;
        AltosUIRateList         rate_value;
        JComboBox<String>       aprs_interval_value;
@@ -137,13 +139,6 @@ public class TeleGPSConfigUI
                return product != null && product.startsWith("TeleGPS");
        }
 
-       void set_radio_calibration_tool_tip() {
-               if (radio_calibration_value.isEnabled())
-                       radio_calibration_value.setToolTipText("Tune radio output to match desired frequency");
-               else
-                       radio_calibration_value.setToolTipText("Cannot tune radio while connected over packet mode");
-       }
-
        void set_radio_enable_tool_tip() {
                if (radio_enable_value.isEnabled())
                        radio_enable_value.setToolTipText("Enable/Disable telemetry and RDF transmissions");
@@ -315,10 +310,8 @@ public class TeleGPSConfigUI
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = ir;
                c.ipady = 5;
-               radio_calibration_value = new JTextField(String.format("%d", 1186611));
-               radio_calibration_value.getDocument().addDocumentListener(this);
+               radio_calibration_value = new JLabel(String.format("%d", 1186611));
                pane.add(radio_calibration_value, c);
-               set_radio_calibration_tool_tip();
                row++;
 
                /* Radio Enable */
@@ -686,7 +679,11 @@ public class TeleGPSConfigUI
                        String motion = tracker_motion_value.getSelectedItem().toString();
                        tracker_motion_label.setText(get_tracker_motion_label());
                        set_tracker_motion_values();
-                       set_tracker_motion((int) (AltosConvert.height.parse(motion, !imperial_units) + 0.5));
+                       try {
+                               int m = (int) (AltosConvert.height.parse_locale(motion, !imperial_units) + 0.5);
+                               set_tracker_motion(m);
+                       } catch (ParseException pe) {
+                       }
                }
                if (!was_dirty)
                        set_clean();
@@ -755,10 +752,6 @@ public class TeleGPSConfigUI
                }
        }
 
-       public int radio_calibration() throws AltosConfigDataException {
-               return parse_int("radio calibration", radio_calibration_value.getText(), false);
-       }
-
        public void set_radio_enable(int new_radio_enable) {
                if (new_radio_enable >= 0) {
                        radio_enable_value.setSelected(new_radio_enable > 0);
@@ -862,7 +855,7 @@ public class TeleGPSConfigUI
        }
 
        String get_tracker_motion_label() {
-               return String.format("Logging Trigger Motion (%s):", AltosConvert.height.show_units_name(AltosLib.MISSING));
+               return String.format("Logging Trigger Motion (%s):", AltosConvert.height.parse_units());
        }
 
        void set_tracker_tool_tip() {
@@ -886,7 +879,12 @@ public class TeleGPSConfigUI
        }
 
        public int tracker_motion() throws AltosConfigDataException {
-               return (int) AltosConvert.height.parse(tracker_motion_value.getSelectedItem().toString());
+               String str = tracker_motion_value.getSelectedItem().toString();
+               try {
+                       return (int) (AltosConvert.height.parse_locale(str) + 0.5);
+               } catch (ParseException pe) {
+                       throw new AltosConfigDataException("invalid tracker motion %s", str);
+               }
        }
 
        public void set_tracker_interval(int tracker_interval) {