Quite the plumbing required, but it'll do.
Signed-off-by: Keith Packard <keithp@keithp.com>
public abstract void set_radio_10mw(int radio_10mw);
public abstract void set_radio_10mw(int radio_10mw);
+ public abstract boolean has_radio();
+
public abstract int report_feet() throws AltosConfigDataException;
public abstract void set_report_feet(int radio_10mw);
public abstract int report_feet() throws AltosConfigDataException;
public abstract void set_report_feet(int radio_10mw);
return product != null && product.startsWith("EasyTimer");
}
return product != null && product.startsWith("EasyTimer");
}
+ public boolean has_radio() {
return is_telemega() || is_telemetrum() || is_telemini();
}
return is_telemega() || is_telemetrum() || is_telemini();
}
public void run() {
switch (phase) {
case AltosAccelCal.phase_antenna_up:
public void run() {
switch (phase) {
case AltosAccelCal.phase_antenna_up:
- message.setText("Orient antenna upwards and click on Antenna Up");
+ message.setText(String.format ("Orient antenna upwards and click on %s", up_msg()));
antenna_up.setEnabled(true);
setDefaultButton(antenna_up);
antenna_down.setEnabled(false);
ok.setEnabled(false);
break;
case AltosAccelCal.phase_antenna_down:
antenna_up.setEnabled(true);
setDefaultButton(antenna_up);
antenna_down.setEnabled(false);
ok.setEnabled(false);
break;
case AltosAccelCal.phase_antenna_down:
- message.setText("Orient antenna downwards and click on Antenna Down");
+ message.setText(String.format("Orient antenna downwards and click on %s", down_msg()));
antenna_up.setEnabled(false);
antenna_down.setEnabled(true);
setDefaultButton(antenna_down);
antenna_up.setEnabled(false);
antenna_down.setEnabled(true);
setDefaultButton(antenna_down);
+
+ public String up_msg() { return config_values.has_radio() ? "Antenna Up" : "Beeper Up"; }
+ public String down_msg() { return config_values.has_radio() ? "Antenna Down" : "Beeper Down"; }
+
public AltosUIAccelCal(Frame owner, AltosLink link, AltosConfigValues config_values) {
super(owner, "Calibrate Accelerometer", true);
public AltosUIAccelCal(Frame owner, AltosLink link, AltosConfigValues config_values) {
super(owner, "Calibrate Accelerometer", true);
c.gridheight = 1;
c.weightx = 0;
c.weighty = 0;
c.gridheight = 1;
c.weightx = 0;
c.weighty = 0;
- antenna_up = new JButton("Antenna Up");
+ antenna_up = new JButton(up_msg());
antenna_up.setActionCommand("up");
antenna_up.setEnabled(false);
antenna_up.addActionListener(this);
antenna_up.setActionCommand("up");
antenna_up.setEnabled(false);
antenna_up.addActionListener(this);
c.gridheight = 1;
c.weightx = 0;
c.weighty = 0;
c.gridheight = 1;
c.weightx = 0;
c.weighty = 0;
- antenna_down = new JButton("Antenna Down");
+ antenna_down = new JButton(down_msg());
antenna_down.setActionCommand("down");
antenna_down.setEnabled(false);
antenna_down.addActionListener(this);
antenna_down.setActionCommand("down");
antenna_down.setEnabled(false);
antenna_down.addActionListener(this);
flight_log_max_value.setToolTipText("Cannot set max value with flight logs in memory");
}
flight_log_max_value.setToolTipText("Cannot set max value with flight logs in memory");
}
+ public boolean has_radio() { return true; }
+
/* Build the UI using a grid bag */
public TeleGPSConfigUI(JFrame in_owner) {
super (in_owner, "Configure Device", false);
/* Build the UI using a grid bag */
public TeleGPSConfigUI(JFrame in_owner) {
super (in_owner, "Configure Device", false);