altoslib: move distinct classes to separate files
authorMike Beattie <mike@ethernal.org>
Fri, 7 Sep 2012 06:11:13 +0000 (18:11 +1200)
committerMike Beattie <mike@ethernal.org>
Fri, 7 Sep 2012 06:11:13 +0000 (18:11 +1200)
Signed-off-by: Mike Beattie <mike@ethernal.org>
altoslib/AltosIMUQuery.java [new file with mode: 0644]
altoslib/AltosIdleMonitor.java
altoslib/AltosMs5607Query.java [new file with mode: 0644]
altoslib/AltosSensorMM.java [new file with mode: 0644]
altoslib/AltosSensorTM.java [new file with mode: 0644]

diff --git a/altoslib/AltosIMUQuery.java b/altoslib/AltosIMUQuery.java
new file mode 100644 (file)
index 0000000..0965fa3
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.AltosLib;
+
+import java.util.concurrent.TimeoutException;
+
+class AltosIMUQuery extends AltosIMU {
+
+       public AltosIMUQuery (AltosLink link) throws InterruptedException, TimeoutException {
+               link.printf("I\n");
+               for (;;) {
+                       String line = link.get_reply_no_dialog(5000);
+                       if (line == null) {
+                               throw new TimeoutException();
+                       }
+                       if (!line.startsWith("Accel:"))
+                               continue;
+                       String[] items = line.split("\\s+");
+                       if (items.length >= 8) {
+                               accel_x = Integer.parseInt(items[1]);
+                               accel_y = Integer.parseInt(items[2]);
+                               accel_z = Integer.parseInt(items[3]);
+                               gyro_x = Integer.parseInt(items[5]);
+                               gyro_y = Integer.parseInt(items[6]);
+                               gyro_z = Integer.parseInt(items[7]);
+                       }
+                       break;
+               }
+       }
+}
+
index f38e3dac7e3b9e2decd8601c2771ce73e43ef81d..ae3b7b06b94748aa7c3862d3688baecb8c13d2a0 100644 (file)
@@ -20,218 +20,6 @@ package org.altusmetrum.AltosLib;
 import java.io.*;
 import java.util.concurrent.*;
 
-class AltosSensorTM extends AltosRecordTM {
-
-       public AltosSensorTM(AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException {
-               super();
-               link.printf("a\n");
-               for (;;) {
-                       String line = link.get_reply_no_dialog(5000);
-                       if (line == null) {
-                               throw new TimeoutException();
-                       }
-                       if (!line.startsWith("tick:"))
-                               continue;
-                       String[] items = line.split("\\s+");
-                       for (int i = 0; i < items.length;) {
-                               if (items[i].equals("tick:")) {
-                                       tick = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("accel:")) {
-                                       accel = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("pres:")) {
-                                       pres = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("temp:")) {
-                                       temp = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("batt:")) {
-                                       batt = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("drogue:")) {
-                                       drogue = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("main:")) {
-                                       main = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               i++;
-                       }
-                       break;
-               }
-               ground_accel = config_data.accel_cal_plus;
-               ground_pres = pres;
-               accel_plus_g = config_data.accel_cal_plus;
-               accel_minus_g = config_data.accel_cal_minus;
-       }
-}
-
-class AltosSensorMM {
-       int             tick;
-       int             sense[];
-       int             v_batt;
-       int             v_pyro;
-       int             accel;
-       int             accel_ref;
-
-       public AltosSensorMM(AltosLink link) throws InterruptedException, TimeoutException {
-               link.printf("a\n");
-               for (;;) {
-                       String line = link.get_reply_no_dialog(5000);
-                       if (line == null) {
-                               throw new TimeoutException();
-                       }
-                       if (!line.startsWith("tick:"))
-                               continue;
-                       String[] items = line.split("\\s+");
-                       sense = new int[6];
-                       for (int i = 0; i < items.length;) {
-                               if (items[i].equals("tick:")) {
-                                       tick = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("0:")) {
-                                       sense[0] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("1:")) {
-                                       sense[1] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("2:")) {
-                                       sense[2] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("3:")) {
-                                       sense[3] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("4:")) {
-                                       sense[4] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("5:")) {
-                                       sense[5] = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("6:")) {
-                                       v_batt = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("7:")) {
-                                       v_pyro = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("8:")) {
-                                       accel = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               if (items[i].equals("9:")) {
-                                       accel_ref = Integer.parseInt(items[i+1]);
-                                       i += 2;
-                                       continue;
-                               }
-                               i++;
-                       }
-                       break;
-               }
-       }
-}
-
-class AltosIMUQuery extends AltosIMU {
-
-       public AltosIMUQuery (AltosLink link) throws InterruptedException, TimeoutException {
-               link.printf("I\n");
-               for (;;) {
-                       String line = link.get_reply_no_dialog(5000);
-                       if (line == null) {
-                               throw new TimeoutException();
-                       }
-                       if (!line.startsWith("Accel:"))
-                               continue;
-                       String[] items = line.split("\\s+");
-                       if (items.length >= 8) {
-                               accel_x = Integer.parseInt(items[1]);
-                               accel_y = Integer.parseInt(items[2]);
-                               accel_z = Integer.parseInt(items[3]);
-                               gyro_x = Integer.parseInt(items[5]);
-                               gyro_y = Integer.parseInt(items[6]);
-                               gyro_z = Integer.parseInt(items[7]);
-                       }
-                       break;
-               }
-       }
-}
-
-class AltosMs5607Query extends AltosMs5607 {
-       public AltosMs5607Query (AltosLink link) throws InterruptedException, TimeoutException {
-               link.printf("v\nB\n");
-               for (;;) {
-                       String line = link.get_reply_no_dialog(5000);
-                       if (line == null) {
-                               throw new TimeoutException();
-                       }
-                       String[] items = line.split("\\s+");
-                       if (line.startsWith("Pressure:")) {
-                               if (items.length >= 2)
-                                       raw_pres = Integer.parseInt(items[1]);
-                       } else if (line.startsWith("Temperature:")) {
-                               if (items.length >= 2)
-                                       raw_temp = Integer.parseInt(items[1]);
-                       } else if (line.startsWith("ms5607 reserved:")) {
-                               if (items.length >= 3)
-                                       reserved = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 sens:")) {
-                               if (items.length >= 3)
-                                       sens = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 off:")) {
-                               if (items.length >= 3)
-                                       off = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 tcs:")) {
-                               if (items.length >= 3)
-                                       tcs = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 tco:")) {
-                               if (items.length >= 3)
-                                       tco = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 tref:")) {
-                               if (items.length >= 3)
-                                       tref = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 tempsens:")) {
-                               if (items.length >= 3)
-                                       tempsens = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("ms5607 crc:")) {
-                               if (items.length >= 3)
-                                       crc = Integer.parseInt(items[2]);
-                       } else if (line.startsWith("Altitude"))
-                               break;
-               }
-               convert();
-       }
-}
 
 public class AltosIdleMonitor extends Thread {
        AltosLink               link;
diff --git a/altoslib/AltosMs5607Query.java b/altoslib/AltosMs5607Query.java
new file mode 100644 (file)
index 0000000..3c74679
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.AltosLib;
+
+import java.util.concurrent.TimeoutException;
+
+class AltosMs5607Query extends AltosMs5607 {
+       public AltosMs5607Query (AltosLink link) throws InterruptedException, TimeoutException {
+               link.printf("v\nB\n");
+               for (;;) {
+                       String line = link.get_reply_no_dialog(5000);
+                       if (line == null) {
+                               throw new TimeoutException();
+                       }
+                       String[] items = line.split("\\s+");
+                       if (line.startsWith("Pressure:")) {
+                               if (items.length >= 2)
+                                       raw_pres = Integer.parseInt(items[1]);
+                       } else if (line.startsWith("Temperature:")) {
+                               if (items.length >= 2)
+                                       raw_temp = Integer.parseInt(items[1]);
+                       } else if (line.startsWith("ms5607 reserved:")) {
+                               if (items.length >= 3)
+                                       reserved = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 sens:")) {
+                               if (items.length >= 3)
+                                       sens = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 off:")) {
+                               if (items.length >= 3)
+                                       off = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 tcs:")) {
+                               if (items.length >= 3)
+                                       tcs = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 tco:")) {
+                               if (items.length >= 3)
+                                       tco = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 tref:")) {
+                               if (items.length >= 3)
+                                       tref = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 tempsens:")) {
+                               if (items.length >= 3)
+                                       tempsens = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("ms5607 crc:")) {
+                               if (items.length >= 3)
+                                       crc = Integer.parseInt(items[2]);
+                       } else if (line.startsWith("Altitude"))
+                               break;
+               }
+               convert();
+       }
+}
+
diff --git a/altoslib/AltosSensorMM.java b/altoslib/AltosSensorMM.java
new file mode 100644 (file)
index 0000000..b6f21ef
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.AltosLib;
+
+import java.util.concurrent.TimeoutException;
+
+class AltosSensorMM {
+       int             tick;
+       int             sense[];
+       int             v_batt;
+       int             v_pyro;
+       int             accel;
+       int             accel_ref;
+
+       public AltosSensorMM(AltosLink link) throws InterruptedException, TimeoutException {
+               link.printf("a\n");
+               for (;;) {
+                       String line = link.get_reply_no_dialog(5000);
+                       if (line == null) {
+                               throw new TimeoutException();
+                       }
+                       if (!line.startsWith("tick:"))
+                               continue;
+                       String[] items = line.split("\\s+");
+                       sense = new int[6];
+                       for (int i = 0; i < items.length;) {
+                               if (items[i].equals("tick:")) {
+                                       tick = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("0:")) {
+                                       sense[0] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("1:")) {
+                                       sense[1] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("2:")) {
+                                       sense[2] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("3:")) {
+                                       sense[3] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("4:")) {
+                                       sense[4] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("5:")) {
+                                       sense[5] = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("6:")) {
+                                       v_batt = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("7:")) {
+                                       v_pyro = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("8:")) {
+                                       accel = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("9:")) {
+                                       accel_ref = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               i++;
+                       }
+                       break;
+               }
+       }
+}
+
diff --git a/altoslib/AltosSensorTM.java b/altoslib/AltosSensorTM.java
new file mode 100644 (file)
index 0000000..75158cb
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.AltosLib;
+
+import java.util.concurrent.TimeoutException;
+
+class AltosSensorTM extends AltosRecordTM {
+
+       public AltosSensorTM(AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException {
+               super();
+               link.printf("a\n");
+               for (;;) {
+                       String line = link.get_reply_no_dialog(5000);
+                       if (line == null) {
+                               throw new TimeoutException();
+                       }
+                       if (!line.startsWith("tick:"))
+                               continue;
+                       String[] items = line.split("\\s+");
+                       for (int i = 0; i < items.length;) {
+                               if (items[i].equals("tick:")) {
+                                       tick = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("accel:")) {
+                                       accel = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("pres:")) {
+                                       pres = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("temp:")) {
+                                       temp = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("batt:")) {
+                                       batt = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("drogue:")) {
+                                       drogue = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               if (items[i].equals("main:")) {
+                                       main = Integer.parseInt(items[i+1]);
+                                       i += 2;
+                                       continue;
+                               }
+                               i++;
+                       }
+                       break;
+               }
+               ground_accel = config_data.accel_cal_plus;
+               ground_pres = pres;
+               accel_plus_g = config_data.accel_cal_plus;
+               accel_minus_g = config_data.accel_cal_minus;
+       }
+}
+