summaryrefslogtreecommitdiff
path: root/altosui/AltosConfigUI.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-08-02 19:07:56 -0700
committerKeith Packard <keithp@keithp.com>2011-08-02 19:07:56 -0700
commit6492218fc316f8cf6214a577807a8dd0a80a9b6a (patch)
tree27c0c590dd237c481dbf576b709010c141ecab3b /altosui/AltosConfigUI.java
parent11a2bb8e28df7ed87542f2ee726f877971f5d52a (diff)
altos/altosui: Add pad orientation configure option
Allow TeleMetrum to be operated with the antenna pointing downwards on the pad. This provides some additional flexibility when designing an ebay. The accelerometer calibration levels are flipped around to match, so no re-calibration should be required. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosConfigUI.java')
-rw-r--r--altosui/AltosConfigUI.java56
1 files changed, 51 insertions, 5 deletions
diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java
index 6f635b9d..1a48c1d3 100644
--- a/altosui/AltosConfigUI.java
+++ b/altosui/AltosConfigUI.java
@@ -47,6 +47,7 @@ public class AltosConfigUI
JLabel radio_calibration_label;
JLabel flight_log_max_label;
JLabel ignite_mode_label;
+ JLabel pad_orientation_label;
JLabel callsign_label;
public boolean dirty;
@@ -61,6 +62,7 @@ public class AltosConfigUI
JTextField radio_calibration_value;
JComboBox flight_log_max_value;
JComboBox ignite_mode_value;
+ JComboBox pad_orientation_value;
JTextField callsign_value;
JButton save;
@@ -91,6 +93,11 @@ public class AltosConfigUI
"Redundant Main",
};
+ static String[] pad_orientation_values = {
+ "Antenna Up",
+ "Antenna Down",
+ };
+
static String[] radio_channel_values = new String[10];
{
for (int i = 0; i <= 9; i++)
@@ -358,9 +365,33 @@ public class AltosConfigUI
ignite_mode_value.addItemListener(this);
pane.add(ignite_mode_value, c);
- /* Buttons */
+ /* Pad orientation */
c = new GridBagConstraints();
c.gridx = 0; c.gridy = 10;
+ c.gridwidth = 4;
+ c.fill = GridBagConstraints.NONE;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = il;
+ c.ipady = 5;
+ pad_orientation_label = new JLabel("Pad Orientation:");
+ pane.add(pad_orientation_label, c);
+
+ c = new GridBagConstraints();
+ c.gridx = 4; c.gridy = 10;
+ c.gridwidth = 4;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.weightx = 1;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = ir;
+ c.ipady = 5;
+ pad_orientation_value = new JComboBox(pad_orientation_values);
+ pad_orientation_value.setEditable(false);
+ pad_orientation_value.addItemListener(this);
+ pane.add(pad_orientation_value, c);
+
+ /* Buttons */
+ c = new GridBagConstraints();
+ c.gridx = 0; c.gridy = 11;
c.gridwidth = 2;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.LINE_START;
@@ -371,7 +402,7 @@ public class AltosConfigUI
save.setActionCommand("Save");
c = new GridBagConstraints();
- c.gridx = 2; c.gridy = 10;
+ c.gridx = 2; c.gridy = 11;
c.gridwidth = 2;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.CENTER;
@@ -382,7 +413,7 @@ public class AltosConfigUI
reset.setActionCommand("Reset");
c = new GridBagConstraints();
- c.gridx = 4; c.gridy = 10;
+ c.gridx = 4; c.gridy = 11;
c.gridwidth = 2;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.CENTER;
@@ -393,7 +424,7 @@ public class AltosConfigUI
reboot.setActionCommand("Reboot");
c = new GridBagConstraints();
- c.gridx = 6; c.gridy = 10;
+ c.gridx = 6; c.gridy = 11;
c.gridwidth = 2;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.LINE_END;
@@ -538,13 +569,28 @@ public class AltosConfigUI
} else {
ignite_mode_value.setEnabled(true);
}
- ignite_mode_value.setSelectedItem(Integer.toString(new_ignite_mode));
+ ignite_mode_value.setSelectedIndex(new_ignite_mode);
}
public int ignite_mode() {
return ignite_mode_value.getSelectedIndex();
}
+
+ public void set_pad_orientation(int new_pad_orientation) {
+ if (new_pad_orientation < 0) {
+ pad_orientation_value.setEnabled(false);
+ new_pad_orientation = 0;
+ } else {
+ pad_orientation_value.setEnabled(true);
+ }
+ pad_orientation_value.setSelectedIndex(new_pad_orientation);
+ }
+
+ public int pad_orientation() {
+ return pad_orientation_value.getSelectedIndex();
+ }
+
public void set_clean() {
dirty = false;
}