JLabel ignite_mode_label;
JLabel pad_orientation_label;
JLabel callsign_label;
+ JLabel beep_label;
public boolean dirty;
JComboBox ignite_mode_value;
JComboBox pad_orientation_value;
JTextField callsign_value;
+ JComboBox beep_value;
JButton pyro;
"10"
};
+ static String[] beep_values = {
+ "3750",
+ "4000",
+ "4250",
+ };
+
static String[] pad_orientation_values = {
"Antenna Up",
"Antenna Down",
}
}
+ void set_beep_tool_tip() {
+ if (beep_value.isEnabled())
+ beep_value.setToolTipText("What frequency the beeper will sound at");
+ else
+ beep_value.setToolTipText("Older firmware could not select beeper frequency");
+ }
+
/* Build the UI using a grid bag */
public AltosConfigUI(JFrame in_owner, boolean remote) {
super (in_owner, "Configure Flight Computer", false);
set_pad_orientation_tool_tip();
row++;
+ /* Beeper */
+ c = new GridBagConstraints();
+ c.gridx = 0; c.gridy = row;
+ c.gridwidth = 4;
+ c.fill = GridBagConstraints.NONE;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = il;
+ c.ipady = 5;
+ beep_label = new JLabel("Beeper Frequency:");
+ pane.add(beep_label, c);
+
+ c = new GridBagConstraints();
+ c.gridx = 4; c.gridy = row;
+ c.gridwidth = 4;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.weightx = 1;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = ir;
+ c.ipady = 5;
+ beep_value = new JComboBox(beep_values);
+ beep_value.setEditable(true);
+ beep_value.addItemListener(this);
+ pane.add(beep_value, c);
+ set_beep_tool_tip();
+ row++;
+
/* Pyro channels */
c = new GridBagConstraints();
c.gridx = 4; c.gridy = row;
return -1;
}
+ public void set_beep(int new_beep) {
+ int new_freq = (int) Math.floor (AltosConvert.beep_value_to_freq(new_beep) + 0.5);
+ for (int i = 0; i < beep_values.length; i++)
+ if (new_beep == AltosConvert.beep_freq_to_value(Integer.parseInt(beep_values[i]))) {
+ beep_value.setSelectedIndex(i);
+ set_beep_tool_tip();
+ return;
+ }
+ beep_value.setSelectedItem(String.format("%d", new_freq));
+ beep_value.setEnabled(new_beep >= 0);
+ set_beep_tool_tip();
+ }
+
+ public int beep() {
+ if (beep_value.isEnabled())
+ return AltosConvert.beep_freq_to_value(Integer.parseInt(beep_value.getSelectedItem().toString()));
+ else
+ return -1;
+ }
+
public void set_pyros(AltosPyro[] new_pyros) {
pyros = new_pyros;
pyro.setVisible(pyros != null);