docs: Document altosui "Graph Data" button
[fw/altos] / ao-tools / altosui / AltosEepromRecord.java
index 4d0817ab3246e7f2458bbe2d087e8207fb37451e..5a6738177601a8e60dc9008d01e5ee22599936d6 100644 (file)
@@ -28,17 +28,6 @@ import java.text.*;
 import java.util.prefs.*;
 import java.util.concurrent.LinkedBlockingQueue;
 
-import altosui.AltosSerial;
-import altosui.AltosSerialMonitor;
-import altosui.AltosRecord;
-import altosui.AltosTelemetry;
-import altosui.AltosState;
-import altosui.AltosDeviceDialog;
-import altosui.AltosPreferences;
-import altosui.AltosLog;
-import altosui.AltosVoice;
-import altosui.AltosEepromMonitor;
-
 public class AltosEepromRecord {
        public int      cmd;
        public int      tick;
@@ -47,7 +36,7 @@ public class AltosEepromRecord {
        public String   data;
        public boolean  tick_valid;
 
-       public AltosEepromRecord (String line) throws ParseException {
+       public AltosEepromRecord (String line) {
                tick_valid = false;
                tick = 0;
                a = 0;
@@ -55,52 +44,61 @@ public class AltosEepromRecord {
                data = null;
                if (line == null) {
                        cmd = Altos.AO_LOG_INVALID;
+                       data = "";
                } else {
-                       String[] tokens = line.split("\\s+");
+                       try {
+                               String[] tokens = line.split("\\s+");
 
-                       if (tokens[0].length() == 1) {
-                               if (tokens.length != 4)
-                                       throw new ParseException(line, 0);
-                               cmd = tokens[0].codePointAt(0);
-                               tick = Integer.parseInt(tokens[1],16);
-                               tick_valid = true;
-                               a = Integer.parseInt(tokens[2],16);
-                               b = Integer.parseInt(tokens[3],16);
-                       } else if (tokens[0].equals("Config") && tokens[1].equals("version:")) {
-                               cmd = Altos.AO_LOG_CONFIG_VERSION;
-                               data = tokens[2];
-                       } else if (tokens[0].equals("Main") && tokens[1].equals("deploy:")) {
-                               cmd = Altos.AO_LOG_MAIN_DEPLOY;
-                               a = Integer.parseInt(tokens[2]);
-                       } else if (tokens[0].equals("Apogee") && tokens[1].equals("delay:")) {
-                               cmd = Altos.AO_LOG_APOGEE_DELAY;
-                               a = Integer.parseInt(tokens[2]);
-                       } else if (tokens[0].equals("Radio") && tokens[1].equals("channel:")) {
-                               cmd = Altos.AO_LOG_RADIO_CHANNEL;
-                               a = Integer.parseInt(tokens[2]);
-                       } else if (tokens[0].equals("Callsign:")) {
-                               cmd = Altos.AO_LOG_CALLSIGN;
-                               data = tokens[1].replaceAll("\"","");
-                       } else if (tokens[0].equals("Accel") && tokens[1].equals("cal")) {
-                               cmd = Altos.AO_LOG_ACCEL_CAL;
-                               a = Integer.parseInt(tokens[3]);
-                               b = Integer.parseInt(tokens[5]);
-                       } else if (tokens[0].equals("Radio") && tokens[1].equals("cal:")) {
-                               cmd = Altos.AO_LOG_RADIO_CAL;
-                               a = Integer.parseInt(tokens[2]);
-                       } else if (tokens[0].equals("manufacturer")) {
-                               cmd = Altos.AO_LOG_MANUFACTURER;
-                               data = tokens[1];
-                       } else if (tokens[0].equals("product")) {
-                               cmd = Altos.AO_LOG_PRODUCT;
-                               data = tokens[1];
-                       } else if (tokens[0].equals("serial-number")) {
-                               cmd = Altos.AO_LOG_SERIAL_NUMBER;
-                               a = Integer.parseInt(tokens[1]);
-                       } else if (tokens[0].equals("software-version")) {
-                               cmd = Altos.AO_LOG_SOFTWARE_VERSION;
-                               data = tokens[1];
-                       } else {
+                               if (tokens[0].length() == 1) {
+                                       if (tokens.length != 4) {
+                                               cmd = Altos.AO_LOG_INVALID;
+                                               data = line;
+                                       } else {
+                                               cmd = tokens[0].codePointAt(0);
+                                               tick = Integer.parseInt(tokens[1],16);
+                                               tick_valid = true;
+                                               a = Integer.parseInt(tokens[2],16);
+                                               b = Integer.parseInt(tokens[3],16);
+                                       }
+                               } else if (tokens[0].equals("Config") && tokens[1].equals("version:")) {
+                                       cmd = Altos.AO_LOG_CONFIG_VERSION;
+                                       data = tokens[2];
+                               } else if (tokens[0].equals("Main") && tokens[1].equals("deploy:")) {
+                                       cmd = Altos.AO_LOG_MAIN_DEPLOY;
+                                       a = Integer.parseInt(tokens[2]);
+                               } else if (tokens[0].equals("Apogee") && tokens[1].equals("delay:")) {
+                                       cmd = Altos.AO_LOG_APOGEE_DELAY;
+                                       a = Integer.parseInt(tokens[2]);
+                               } else if (tokens[0].equals("Radio") && tokens[1].equals("channel:")) {
+                                       cmd = Altos.AO_LOG_RADIO_CHANNEL;
+                                       a = Integer.parseInt(tokens[2]);
+                               } else if (tokens[0].equals("Callsign:")) {
+                                       cmd = Altos.AO_LOG_CALLSIGN;
+                                       data = tokens[1].replaceAll("\"","");
+                               } else if (tokens[0].equals("Accel") && tokens[1].equals("cal")) {
+                                       cmd = Altos.AO_LOG_ACCEL_CAL;
+                                       a = Integer.parseInt(tokens[3]);
+                                       b = Integer.parseInt(tokens[5]);
+                               } else if (tokens[0].equals("Radio") && tokens[1].equals("cal:")) {
+                                       cmd = Altos.AO_LOG_RADIO_CAL;
+                                       a = Integer.parseInt(tokens[2]);
+                               } else if (tokens[0].equals("manufacturer")) {
+                                       cmd = Altos.AO_LOG_MANUFACTURER;
+                                       data = tokens[1];
+                               } else if (tokens[0].equals("product")) {
+                                       cmd = Altos.AO_LOG_PRODUCT;
+                                       data = tokens[1];
+                               } else if (tokens[0].equals("serial-number")) {
+                                       cmd = Altos.AO_LOG_SERIAL_NUMBER;
+                                       a = Integer.parseInt(tokens[1]);
+                               } else if (tokens[0].equals("software-version")) {
+                                       cmd = Altos.AO_LOG_SOFTWARE_VERSION;
+                                       data = tokens[1];
+                               } else {
+                                       cmd = Altos.AO_LOG_INVALID;
+                                       data = line;
+                               }
+                       } catch (NumberFormatException ne) {
                                cmd = Altos.AO_LOG_INVALID;
                                data = line;
                        }