altosui: Have single radio_to_frequency function
[fw/altos] / altosui / AltosEepromDownload.java
index fad1646072e2890604773c14f31ab51594e4f03b..64dcdff7032715bcf73977d5710257603f0d358a 100644 (file)
@@ -155,14 +155,17 @@ public class AltosEepromDownload implements Runnable {
                                int     s = v ^ 0x8000;
 
                                if (Altos.ao_flight_startup <= s && s <= Altos.ao_flight_invalid) {
-                                       r = new AltosEepromRecord(Altos.AO_LOG_STATE, tiny_tick, s, 0);
-                                       if (s == Altos.ao_flight_landed)
+                                       state = s;
+                                       r = new AltosEepromRecord(Altos.AO_LOG_STATE, tiny_tick, state, 0);
+                                       if (state == Altos.ao_flight_landed)
                                                done = true;
+                                       state = s;
                                        any_valid = true;
                                } else {
                                        if (v != 0xffff)
                                                any_valid = true;
-                                       r = new AltosEepromRecord(Altos.AO_LOG_HEIGHT, tiny_tick, v, 0);
+
+                                       r = new AltosEepromRecord(Altos.AO_LOG_PRESSURE, tiny_tick, 0, v);
 
                                        /*
                                         * The flight software records ascent data every 100ms, and descent
@@ -261,11 +264,11 @@ public class AltosEepromDownload implements Runnable {
        }
 
        public void run () {
-               if (remote)
-                       serial_line.start_remote();
-
                try {
                        boolean failed = false;
+                       if (remote)
+                               serial_line.start_remote();
+
                        for (AltosEepromLog log : flights) {
                                parse_exception = null;
                                if (log.download) {
@@ -292,11 +295,12 @@ public class AltosEepromDownload implements Runnable {
                                                   serial_line.device.toShortString()),
                                     "Connection Failed",
                                     JOptionPane.ERROR_MESSAGE);
+               } finally {
+                       if (remote)
+                               serial_line.stop_remote();
+                       serial_line.flush_output();
                }
-               if (remote)
-                       serial_line.stop_remote();
                monitor.done();
-               serial_line.flush_output();
                if (listener != null) {
                        Runnable r = new Runnable() {
                                        public void run() {