altoslib/altosuilib: Update library version to 7
[fw/altos] / altoslib / AltosIdleFetch.java
index 02cb7a947a30b4df6a8e766c733f280b05b54342..e1658683036df4e6dc26446b61b3ff014e7d7868 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_3;
+package org.altusmetrum.altoslib_7;
 
 import java.io.*;
 import java.util.*;
@@ -38,6 +38,7 @@ class AltosIdler {
        static final int        idle_sensor_mega = 12;
        static final int        idle_sensor_emini = 13;
        static final int        idle_sensor_tmini = 14;
+       static final int        idle_sensor_tgps = 15;
 
        public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException, TimeoutException {
                for (int idler : idlers) {
@@ -72,6 +73,10 @@ class AltosIdler {
                                break;
                        case idle_sensor_tmini:
                                AltosSensorTMini.update_state(state, link, config_data);
+                               break;
+                       case idle_sensor_tgps:
+                               AltosSensorTGPS.update_state(state, link, config_data);
+                               break;
                        }
                        if (idle != null)
                                idle.update_state(state);
@@ -118,6 +123,13 @@ 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),
+               new AltosIdler("TeleGPS",
+                              AltosIdler.idle_gps,
+                              AltosIdler.idle_sensor_tgps),
        };
 
        AltosLink               link;
@@ -127,8 +139,9 @@ public class AltosIdleFetch implements AltosStateUpdate {
 
        public void update_state(AltosState state) throws InterruptedException {
                try {
+                       /* Fetch config data from remote */
                        AltosConfigData config_data = new AltosConfigData(link);
-                       state.set_state(AltosLib.ao_flight_startup);
+                       state.set_state(AltosLib.ao_flight_stateless);
                        state.set_serial(config_data.serial);
                        state.set_callsign(config_data.callsign);
                        state.set_ground_accel(config_data.accel_cal_plus);
@@ -142,7 +155,7 @@ public class AltosIdleFetch implements AltosStateUpdate {
                        state.set_received_time(System.currentTimeMillis());
                } catch (TimeoutException te) {
                }
-               
+
        }
 
        public AltosIdleFetch(AltosLink link) {