altosui: Add RF calibration to TeleMetrum config dialog
[fw/altos] / ao-tools / altosui / AltosConfigUI.java
index 6825b9a9894d62a3c80c1bd65baa2a18ef84b662..37128573c966ea39cd57fba2c7f5fab6dc8da63a 100644 (file)
@@ -57,6 +57,7 @@ public class AltosConfigUI
        JLabel          main_deploy_label;
        JLabel          apogee_delay_label;
        JLabel          radio_channel_label;
+       JLabel          radio_calibration_label;
        JLabel          callsign_label;
 
        public boolean          dirty;
@@ -68,6 +69,7 @@ public class AltosConfigUI
        JComboBox       main_deploy_value;
        JComboBox       apogee_delay_value;
        JComboBox       radio_channel_value;
+       JTextField      radio_calibration_value;
        JTextField      callsign_value;
 
        JButton         save;
@@ -147,6 +149,7 @@ public class AltosConfigUI
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
+               c.ipady = 5;
                version_label = new JLabel("Software version:");
                pane.add(version_label, c);
 
@@ -157,6 +160,7 @@ public class AltosConfigUI
                c.weightx = 1;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = ir;
+               c.ipady = 5;
                version_value = new JLabel("");
                pane.add(version_value, c);
 
@@ -167,6 +171,7 @@ public class AltosConfigUI
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
+               c.ipady = 5;
                serial_label = new JLabel("Serial:");
                pane.add(serial_label, c);
 
@@ -177,6 +182,7 @@ public class AltosConfigUI
                c.weightx = 1;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = ir;
+               c.ipady = 5;
                serial_value = new JLabel("");
                pane.add(serial_value, c);
 
@@ -187,7 +193,7 @@ public class AltosConfigUI
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
-               c.ipady = 3;
+               c.ipady = 5;
                main_deploy_label = new JLabel("Main Deploy Altitude(m):");
                pane.add(main_deploy_label, c);
 
@@ -252,7 +258,7 @@ public class AltosConfigUI
                radio_channel_value.addItemListener(this);
                pane.add(radio_channel_value, c);
 
-               /* Callsign */
+               /* Radio Calibration */
                c = new GridBagConstraints();
                c.gridx = 0; c.gridy = 6;
                c.gridwidth = 3;
@@ -260,11 +266,34 @@ public class AltosConfigUI
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
                c.ipady = 5;
+               radio_calibration_label = new JLabel("RF Calibration:");
+               pane.add(radio_calibration_label, c);
+
+               c = new GridBagConstraints();
+               c.gridx = 3; c.gridy = 6;
+               c.gridwidth = 3;
+               c.fill = GridBagConstraints.HORIZONTAL;
+               c.weightx = 1;
+               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);
+               pane.add(radio_calibration_value, c);
+
+               /* Callsign */
+               c = new GridBagConstraints();
+               c.gridx = 0; c.gridy = 7;
+               c.gridwidth = 3;
+               c.fill = GridBagConstraints.NONE;
+               c.anchor = GridBagConstraints.LINE_START;
+               c.insets = il;
+               c.ipady = 5;
                callsign_label = new JLabel("Callsign:");
                pane.add(callsign_label, c);
 
                c = new GridBagConstraints();
-               c.gridx = 3; c.gridy = 6;
+               c.gridx = 3; c.gridy = 7;
                c.gridwidth = 3;
                c.fill = GridBagConstraints.HORIZONTAL;
                c.weightx = 1;
@@ -277,8 +306,8 @@ public class AltosConfigUI
 
                /* Buttons */
                c = new GridBagConstraints();
-               c.gridx = 0; c.gridy = 7;
-               c.gridwidth = 2;
+               c.gridx = 0; c.gridy = 8;
+               c.gridwidth = 6;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_START;
                c.insets = il;
@@ -288,8 +317,8 @@ public class AltosConfigUI
                save.setActionCommand("save");
 
                c = new GridBagConstraints();
-               c.gridx = 2; c.gridy = 7;
-               c.gridwidth = 2;
+               c.gridx = 0; c.gridy = 8;
+               c.gridwidth = 6;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.CENTER;
                c.insets = il;
@@ -299,8 +328,8 @@ public class AltosConfigUI
                reset.setActionCommand("reset");
 
                c = new GridBagConstraints();
-               c.gridx = 4; c.gridy = 7;
-               c.gridwidth = 2;
+               c.gridx = 0; c.gridy = 8;
+               c.gridwidth = 6;
                c.fill = GridBagConstraints.NONE;
                c.anchor = GridBagConstraints.LINE_END;
                c.insets = il;
@@ -411,6 +440,14 @@ public class AltosConfigUI
                return radio_channel_value.getSelectedIndex();
        }
 
+       public void set_radio_calibration(int new_radio_calibration) {
+               radio_calibration_value.setText(String.format("%d", new_radio_calibration));
+       }
+
+       public int radio_calibration() {
+               return Integer.parseInt(radio_calibration_value.getText());
+       }
+
        public void set_callsign(String new_callsign) {
                callsign_value.setText(new_callsign);
        }