X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosConfig.java;h=122ebeccf88d449800286f569a84026e962a5cfb;hp=b1e6bc12cf578f0ba51309b90774befbe19c5056;hb=955989147f90a4fd22c1375d1b41425dae4e7dd1;hpb=6823ad5e48fc0a19791d96f886b5689f88c4311b diff --git a/altosui/AltosConfig.java b/altosui/AltosConfig.java index b1e6bc12..122ebecc 100644 --- a/altosui/AltosConfig.java +++ b/altosui/AltosConfig.java @@ -85,6 +85,7 @@ public class AltosConfig implements ActionListener { string_ref callsign; AltosConfigUI config_ui; boolean serial_started; + boolean made_visible; boolean get_int(String line, String label, int_ref x) { if (line.startsWith(label)) { @@ -148,7 +149,17 @@ public class AltosConfig implements ActionListener { config_ui.set_apogee_delay(apogee_delay.get()); config_ui.set_radio_calibration(radio_calibration.get()); config_ui.set_radio_frequency(frequency()); - config_ui.set_flight_log_max_enabled(stored_flight.get() < 0); + boolean max_enabled = true; + switch (log_format.get()) { + case Altos.AO_LOG_FORMAT_TINY: + max_enabled = false; + break; + default: + if (stored_flight.get() >= 0) + max_enabled = false; + break; + } + config_ui.set_flight_log_max_enabled(max_enabled); config_ui.set_radio_enable(radio_enable.get()); config_ui.set_flight_log_max_limit(log_limit()); config_ui.set_flight_log_max(flight_log_max.get()); @@ -156,7 +167,10 @@ public class AltosConfig implements ActionListener { config_ui.set_pad_orientation(pad_orientation.get()); config_ui.set_callsign(callsign.get()); config_ui.set_clean(); - config_ui.make_visible(); + if (!made_visible) { + made_visible = true; + config_ui.make_visible(); + } } void process_line(String line) { @@ -164,7 +178,7 @@ public class AltosConfig implements ActionListener { abort(); return; } - if (line.equals("done")) { + if (line.equals("all finished")) { if (serial_line != null) update_ui(); return; @@ -209,10 +223,31 @@ public class AltosConfig implements ActionListener { SwingUtilities.invokeLater(r); } + void reset_data() { + serial.set(0); + log_format.set(Altos.AO_LOG_FORMAT_UNKNOWN); + main_deploy.set(250); + apogee_delay.set(0); + radio_channel.set(0); + radio_setting.set(0); + radio_calibration.set(1186611); + radio_enable.set(-1); + flight_log_max.set(0); + ignite_mode.set(-1); + pad_orientation.set(-1); + storage_size.set(-1); + storage_erase_unit.set(-1); + stored_flight.set(-1); + callsign.set("N0CALL"); + version.set("unknown"); + product.set("unknown"); + } + void get_data() { try { config.start_serial(); - stored_flight.set(-1); + reset_data(); + config.serial_line.printf("c s\nf\nl\nv\n"); for (;;) { try { @@ -234,7 +269,7 @@ public class AltosConfig implements ActionListener { } catch (InterruptedException ie) { } } - callback("done"); + callback("all finished"); } void save_data() {