adjust_accel_cal();
switch (pad_orientation) {
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_UP:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPRIGHT:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_UP:
return accel_cal_plus_cooked;
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_DOWN:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPSIDEDOWN:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_DOWN:
return invert_accel_value(accel_cal_minus_cooked);
default:
return AltosLib.MISSING;
adjust_accel_cal();
switch (pad_orientation) {
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_UP:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPRIGHT:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_UP:
return accel_cal_minus_cooked;
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_DOWN:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPSIDEDOWN:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_DOWN:
return invert_accel_value(accel_cal_plus_cooked);
default:
return AltosLib.MISSING;
{
switch (pad_orientation) {
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_UP:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPRIGHT:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_UP:
accel_cal_plus_cooked = accel_cal_plus;
accel_cal_minus_cooked = accel_cal_minus;
accel_cal_adjusted = true;
break;
case AltosLib.AO_PAD_ORIENTATION_ANTENNA_DOWN:
+ case AltosLib.AO_PAD_ORIENTATION_WORDS_UPSIDEDOWN:
+ case AltosLib.AO_PAD_ORIENTATION_BIG_PARTS_DOWN:
accel_cal_plus_cooked = invert_accel_value(accel_cal_minus);
accel_cal_minus_cooked = invert_accel_value(accel_cal_plus);
accel_cal_adjusted = true;
has_setting,
radio_calibration);
/* When remote, reset the dongle frequency at the same time */
- if (remote) {
- link.flush_output();
+ if (remote && frequency != link.frequency) {
link.stop_remote();
link.set_radio_frequency(frequency);
- link.flush_output();
link.start_remote();
}
}
if (telemetry_rate != AltosLib.MISSING) {
link.printf("c T %d\n", telemetry_rate);
- if (remote) {
- link.flush_output();
+ if (remote && telemetry_rate != link.telemetry_rate) {
link.stop_remote();
link.set_telemetry_rate(telemetry_rate);
- link.flush_output();
link.start_remote();
}
}
if (callsign != null) {
link.printf("c c %s\n", callsign);
- if (remote) {
- link.flush_output();
+ if (remote && !callsign.equals(link.callsign)) {
+ System.out.printf("changing link callsign from %s to %s\n", link.callsign, callsign);
link.stop_remote();
link.set_callsign(callsign);
- link.flush_output();
link.start_remote();
}
}
/* UI doesn't support accel cal */
link.printf("c w\n");
- link.flush_output();
+ read_link(link, "Saved");
}
public AltosConfigData(AltosLink link) throws InterruptedException, TimeoutException {