altosui: Catch errors in state value when saving flight logs
[fw/altos] / altosui / AltosEepromDownload.java
index 8f7a8544dc4a57f5b2820115e9c8622fa4de4894..b04890cdb35a5ebd28285cc80b565beb8511df1e 100644 (file)
@@ -27,6 +27,7 @@ import java.util.*;
 import java.text.*;
 import java.util.prefs.*;
 import java.util.concurrent.*;
+import org.altusmetrum.AltosLib.*;
 
 import libaltosJNI.*;
 
@@ -318,11 +319,9 @@ public class AltosEepromDownload implements Runnable {
                done = false;
                start = true;
 
-//             if (flights.config_data.serial == 0)
-//                     throw new IOException("no serial number found");
+               if (flights.config_data.serial == 0)
+                       throw new IOException("no serial number found");
 
-               log_format = 5;
-               System.out.printf ("log format: %d\n", log_format);
                /* Reset per-capture variables */
                flight = 0;
                year = 0;
@@ -337,7 +336,7 @@ public class AltosEepromDownload implements Runnable {
 
                state = 0; state_block = log.start_block;
                for (block = log.start_block; !done && block < log.end_block; block++) {
-                       monitor.set_value(Altos.state_to_string[state], state, block - state_block);
+                       monitor.set_value(AltosLib.state_name(state), state, block - state_block);
 
                        AltosEepromChunk        eechunk = new AltosEepromChunk(serial_line, block, block == log.start_block);
 
@@ -356,23 +355,23 @@ public class AltosEepromDownload implements Runnable {
                        }
 
                        switch (log_format) {
-                       case Altos.AO_LOG_FORMAT_FULL:
+                       case AltosLib.AO_LOG_FORMAT_FULL:
                                extension = "eeprom";
                                CaptureFull(eechunk);
                                break;
-                       case Altos.AO_LOG_FORMAT_TINY:
+                       case AltosLib.AO_LOG_FORMAT_TINY:
                                extension = "eeprom";
                                CaptureTiny(eechunk);
                                break;
-                       case Altos.AO_LOG_FORMAT_TELEMETRY:
+                       case AltosLib.AO_LOG_FORMAT_TELEMETRY:
                                extension = "telem";
                                CaptureTelemetry(eechunk);
                                break;
-                       case Altos.AO_LOG_FORMAT_TELESCIENCE:
+                       case AltosLib.AO_LOG_FORMAT_TELESCIENCE:
                                extension = "science";
                                CaptureTeleScience(eechunk);
                                break;
-                       case Altos.AO_LOG_FORMAT_MEGAMETRUM:
+                       case AltosLib.AO_LOG_FORMAT_MEGAMETRUM:
                                extension = "mega";
                                CaptureMega(eechunk);
                        }