altos: Correct AO_CONFIG_MINOR from 6 to 7
[fw/altos] / altosui / AltosConfig.java
index 694ef4db88ce109c8c3b4a2af4ee0fe7982310ce..ffabe2092b0ffd1135529f3464bb8f03067a042c 100644 (file)
@@ -67,6 +67,7 @@ public class AltosConfig implements ActionListener {
        AltosConfigData remote_config_data;
        double          remote_frequency;
        int_ref         serial;
+       int_ref         log_format;
        int_ref         main_deploy;
        int_ref         apogee_delay;
        int_ref         radio_channel;
@@ -132,13 +133,12 @@ public class AltosConfig implements ActionListener {
                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_radio_frequency(frequency());
                config_ui.set_radio_calibration(radio_calibration.get());
+               config_ui.set_radio_frequency(frequency());
                config_ui.set_flight_log_max(flight_log_max.get());
                config_ui.set_ignite_mode(ignite_mode.get());
                config_ui.set_pad_orientation(pad_orientation.get());
                config_ui.set_callsign(callsign.get());
-               config_ui.set_radio_setting(radio_setting.get());
                config_ui.set_clean();
                config_ui.make_visible();
        }
@@ -154,6 +154,7 @@ public class AltosConfig implements ActionListener {
                        return;
                }
                get_int(line, "serial-number", serial);
+               get_int(line, "log-format", log_format);
                get_int(line, "Main deploy:", main_deploy);
                get_int(line, "Apogee delay:", apogee_delay);
                get_int(line, "Radio channel:", radio_channel);
@@ -218,10 +219,12 @@ public class AltosConfig implements ActionListener {
                void save_data() {
                        try {
                                double frequency = frequency();
-                               boolean has_setting = radio_setting.get() != 0;
+                               boolean has_setting = radio_setting.get() > 0;
                                start_serial();
                                serial_line.printf("c m %d\n", main_deploy.get());
                                serial_line.printf("c d %d\n", apogee_delay.get());
+                               if (!remote)
+                                       serial_line.printf("c f %d\n", radio_calibration.get());
                                serial_line.set_radio_frequency(frequency,
                                                                has_setting,
                                                                radio_calibration.get());
@@ -233,8 +236,6 @@ public class AltosConfig implements ActionListener {
                                        AltosPreferences.set_frequency(device.getSerial(), frequency);
                                        serial_line.start_remote();
                                }
-                               if (!remote)
-                                       serial_line.printf("c f %d\n", radio_calibration.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());
@@ -321,18 +322,15 @@ public class AltosConfig implements ActionListener {
        }
 
        double frequency() {
-               int     setting = radio_setting.get();
-
-               if (setting != 0)
-                       return AltosConvert.radio_setting_to_frequency(setting, radio_calibration.get());
-               else
-                       return AltosConvert.radio_channel_to_frequency(radio_channel.get());
+               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) {
+               if (setting > 0) {
                        radio_setting.set(AltosConvert.radio_frequency_to_setting(freq,
                                                                                  radio_calibration.get()));
                        radio_channel.set(0);
@@ -378,6 +376,7 @@ public class AltosConfig implements ActionListener {
                owner = given_owner;
 
                serial = new int_ref(0);
+               log_format = new int_ref(Altos.AO_LOG_FORMAT_UNKNOWN);
                main_deploy = new int_ref(250);
                apogee_delay = new int_ref(0);
                radio_channel = new int_ref(0);