config_ui.set_version(version.get());
config_ui.set_main_deploy(main_deploy.get());
config_ui.set_apogee_delay(apogee_delay.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, "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_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,
+ has_setting,
+ radio_calibration.get());
+ 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());
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());
+ if (pad_orientation.get() >= 0)
+ serial_line.printf("c o %d\n", pad_orientation.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));
+ }
+ }
+
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);
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");