void update_ui() {
config_ui.set_serial(serial.get());
config_ui.set_product(product.get());
config_ui.set_version(version.get());
config_ui.set_main_deploy(main_deploy.get());
config_ui.set_apogee_delay(apogee_delay.get());
void update_ui() {
config_ui.set_serial(serial.get());
config_ui.set_product(product.get());
config_ui.set_version(version.get());
config_ui.set_main_deploy(main_deploy.get());
config_ui.set_apogee_delay(apogee_delay.get());
get_int(line, "Main deploy:", main_deploy);
get_int(line, "Apogee delay:", apogee_delay);
get_int(line, "Radio channel:", radio_channel);
get_int(line, "Radio cal:", radio_calibration);
get_int(line, "Max flight log:", flight_log_max);
get_int(line, "Ignite mode:", ignite_mode);
get_int(line, "Main deploy:", main_deploy);
get_int(line, "Apogee delay:", apogee_delay);
get_int(line, "Radio channel:", radio_channel);
get_int(line, "Radio cal:", radio_calibration);
get_int(line, "Max flight log:", flight_log_max);
get_int(line, "Ignite mode:", ignite_mode);
+ get_int(line, "Pad orientation:", pad_orientation);
+ get_int(line, "Radio setting:", radio_setting);
+ get_int(line, "Storage size:", storage_size);
+ get_int(line, "Storage erase unit:", storage_erase_unit);
get_string(line, "Callsign:", callsign);
get_string(line,"software-version", version);
get_string(line,"product", product);
get_string(line, "Callsign:", callsign);
get_string(line,"software-version", version);
get_string(line,"product", product);
start_serial();
serial_line.printf("c m %d\n", main_deploy.get());
serial_line.printf("c d %d\n", apogee_delay.get());
start_serial();
serial_line.printf("c m %d\n", main_deploy.get());
serial_line.printf("c d %d\n", apogee_delay.get());
- channel = radio_channel.get();
- serial_line.printf("c r %d\n", channel);
+ if (!remote)
+ serial_line.printf("c f %d\n", radio_calibration.get());
+ serial_line.set_radio_frequency(frequency,
+ has_setting,
+ radio_calibration.get());
- serial_line.set_channel(channel);
- AltosPreferences.set_channel(device.getSerial(), channel);
+ serial_line.set_radio_frequency(frequency);
+ AltosPreferences.set_frequency(device.getSerial(), frequency);
serial_line.printf("c c %s\n", callsign.get());
if (flight_log_max.get() != 0)
serial_line.printf("c l %d\n", flight_log_max.get());
if (ignite_mode.get() >= 0)
serial_line.printf("c i %d\n", ignite_mode.get());
serial_line.printf("c c %s\n", callsign.get());
if (flight_log_max.get() != 0)
serial_line.printf("c l %d\n", flight_log_max.get());
if (ignite_mode.get() >= 0)
serial_line.printf("c i %d\n", ignite_mode.get());
serial_line.printf("r eboot\n");
serial_line.flush_output();
} catch (InterruptedException ie) {
serial_line.printf("r eboot\n");
serial_line.flush_output();
} catch (InterruptedException ie) {
+ double frequency() {
+ return AltosConvert.radio_to_frequency(radio_setting.get(),
+ radio_calibration.get(),
+ radio_channel.get());
+ }
+
+ void set_frequency(double freq) {
+ int setting = radio_setting.get();
+
+ if (setting > 0) {
+ radio_setting.set(AltosConvert.radio_frequency_to_setting(freq,
+ radio_calibration.get()));
+ radio_channel.set(0);
+ } else {
+ radio_channel.set(AltosConvert.radio_frequency_to_channel(freq));
+ }
+ }
+
+
+ /* bounds check stuff */
+ if (config_ui.flight_log_max() > log_limit()) {
+ JOptionPane.showMessageDialog(owner,
+ String.format("Requested flight log, %dk, is larger than the available space, %dk.\n",
+ config_ui.flight_log_max(),
+ log_limit()),
+ "Maximum Flight Log Too Large",
+ JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
- ignite_mode.set(config_ui.ignite_mode());
+ if (ignite_mode.get() >= 0)
+ ignite_mode.set(config_ui.ignite_mode());
+ if (pad_orientation.get() >= 0)
+ pad_orientation.set(config_ui.pad_orientation());
main_deploy = new int_ref(250);
apogee_delay = new int_ref(0);
radio_channel = new int_ref(0);
main_deploy = new int_ref(250);
apogee_delay = new int_ref(0);
radio_channel = new int_ref(0);
radio_calibration = new int_ref(1186611);
flight_log_max = new int_ref(0);
ignite_mode = new int_ref(-1);
radio_calibration = new int_ref(1186611);
flight_log_max = new int_ref(0);
ignite_mode = new int_ref(-1);
callsign = new string_ref("N0CALL");
version = new string_ref("unknown");
product = new string_ref("unknown");
callsign = new string_ref("N0CALL");
version = new string_ref("unknown");
product = new string_ref("unknown");