diff options
| author | Keith Packard <keithp@keithp.com> | 2011-08-02 19:07:56 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2011-08-02 19:07:56 -0700 | 
| commit | 6492218fc316f8cf6214a577807a8dd0a80a9b6a (patch) | |
| tree | 27c0c590dd237c481dbf576b709010c141ecab3b /altosui/AltosConfigUI.java | |
| parent | 11a2bb8e28df7ed87542f2ee726f877971f5d52a (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.java | 56 | 
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;  	}  | 
