altoslib/altosuilib: Add EasyMega support
[fw/altos] / altoslib / AltosIdleFetch.java
index 42943c07c478e7cfb4f1ae426ef8f254d7e0c5a2..50745d9755d9be1436932d62c848615bdb51f255 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_2;
+package org.altusmetrum.altoslib_5;
 
 import java.io.*;
 import java.util.*;
@@ -37,6 +37,7 @@ class AltosIdler {
        static final int        idle_sensor_metrum = 11;
        static final int        idle_sensor_mega = 12;
        static final int        idle_sensor_emini = 13;
+       static final int        idle_sensor_tmini = 14;
 
        public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException {
                for (int idler : idlers) {
@@ -69,6 +70,8 @@ class AltosIdler {
                        case idle_sensor_emini:
                                AltosSensorEMini.update_state(state, link, config_data);
                                break;
+                       case idle_sensor_tmini:
+                               AltosSensorTMini.update_state(state, link, config_data);
                        }
                        if (idle != null)
                                idle.update_state(state);
@@ -99,7 +102,7 @@ public class AltosIdleFetch implements AltosStateUpdate {
 
                new AltosIdler("TeleMini-v2",
                               AltosIdler.idle_ms5607,
-                              AltosIdler.idle_sensor_tm),
+                              AltosIdler.idle_sensor_tmini),
 
                new AltosIdler("TeleMetrum-v1",
                               AltosIdler.idle_gps,
@@ -115,6 +118,10 @@ public class AltosIdleFetch implements AltosStateUpdate {
                               AltosIdler.idle_ms5607, AltosIdler.idle_mma655x,
                               AltosIdler.idle_imu, AltosIdler.idle_mag,
                               AltosIdler.idle_sensor_mega),
+               new AltosIdler("EasyMega",
+                              AltosIdler.idle_ms5607, AltosIdler.idle_mma655x,
+                              AltosIdler.idle_imu, AltosIdler.idle_mag,
+                              AltosIdler.idle_sensor_mega),
        };
 
        AltosLink               link;
@@ -122,7 +129,7 @@ public class AltosIdleFetch implements AltosStateUpdate {
        double                  frequency;
        String                  callsign;
 
-       public void update_state(AltosState state) {
+       public void update_state(AltosState state) throws InterruptedException {
                try {
                        AltosConfigData config_data = new AltosConfigData(link);
                        state.set_state(AltosLib.ao_flight_startup);
@@ -137,10 +144,9 @@ public class AltosIdleFetch implements AltosStateUpdate {
                                }
                        }
                        state.set_received_time(System.currentTimeMillis());
-               } catch (InterruptedException ie) {
                } catch (TimeoutException te) {
                }
-               
+
        }
 
        public AltosIdleFetch(AltosLink link) {