Merge branch 'telegps-v3'
[fw/altos] / altoslib / AltosIdleFetch.java
index c4a32788d4617dd319ae190a5fe5667ef510ad7d..7ab8395ac8df5f8d8250f715267b25051c35680a 100644 (file)
@@ -39,6 +39,7 @@ class AltosIdler {
        static final int        idle_ms5607 = 9;
        static final int        idle_adxl375 = 10;
        static final int        idle_adxl375_easymotor_v2 = 11;
+       static final int        idle_imu = 12;
 
        static final int        idle_sensor_tm = 100;
        static final int        idle_sensor_metrum = 101;
@@ -48,9 +49,10 @@ class AltosIdler {
        static final int        idle_sensor_tmini2 = 105;
        static final int        idle_sensor_tgps1 = 106;
        static final int        idle_sensor_tgps2 = 107;
-       static final int        idle_sensor_tmini3 = 108;
-       static final int        idle_sensor_easytimer1 = 109;
-       static final int        idle_sensor_easymotor2 = 110;
+       static final int        idle_sensor_tgps3 = 108;
+       static final int        idle_sensor_tmini3 = 109;
+       static final int        idle_sensor_easytimer1 = 110;
+       static final int        idle_sensor_easymotor2 = 111;
 
        public void provide_data(AltosDataListener listener, AltosLink link) throws InterruptedException, TimeoutException, AltosUnknownProduct {
                for (int idler : idlers) {
@@ -76,6 +78,9 @@ class AltosIdler {
                        case idle_imu_et_v1:
                                AltosIMU.provide_data(listener, link, AltosIMU.imu_type_easytimer_v1);
                                break;
+                       case idle_imu:
+                               AltosIMU.provide_data(listener, link, AltosLib.MISSING);
+                               break;
                        case idle_mag:
                                AltosMag.provide_data(listener, link);
                                break;
@@ -115,6 +120,9 @@ class AltosIdler {
                        case idle_sensor_tgps2:
                                AltosSensorTGPS2.provide_data(listener, link);
                                break;
+                       case idle_sensor_tgps3:
+                               AltosSensorTGPS3.provide_data(listener, link);
+                               break;
                        case idle_sensor_tmini3:
                                AltosSensorTMini3.provide_data(listener, link);
                                break;
@@ -178,6 +186,12 @@ public class AltosIdleFetch implements AltosDataProvider {
                               AltosIdler.idle_ms5607,
                               AltosIdler.idle_sensor_metrum),
 
+               new AltosIdler("TeleMetrum-v4",
+                              AltosIdler.idle_gps,
+                              AltosIdler.idle_adxl375,
+                              AltosIdler.idle_ms5607,
+                              AltosIdler.idle_sensor_metrum),
+
                new AltosIdler("TeleMega-v0",
                               AltosIdler.idle_gps,
                               AltosIdler.idle_mma655x,
@@ -208,6 +222,18 @@ public class AltosIdleFetch implements AltosDataProvider {
                               AltosIdler.idle_ms5607,
                               AltosIdler.idle_imu_tm_v4,
                               AltosIdler.idle_sensor_mega),
+               new AltosIdler("TeleMega-v5",
+                              AltosIdler.idle_gps,
+                              AltosIdler.idle_adxl375,
+                              AltosIdler.idle_ms5607,
+                              AltosIdler.idle_imu, AltosIdler.idle_mag,
+                              AltosIdler.idle_sensor_mega),
+               new AltosIdler("TeleMega-v6",
+                              AltosIdler.idle_gps,
+                              AltosIdler.idle_adxl375,
+                              AltosIdler.idle_ms5607,
+                              AltosIdler.idle_imu, AltosIdler.idle_mag,
+                              AltosIdler.idle_sensor_mega),
                new AltosIdler("EasyMega-v1",
                               AltosIdler.idle_mma655x,
                               AltosIdler.idle_ms5607,
@@ -224,6 +250,9 @@ public class AltosIdleFetch implements AltosDataProvider {
                new AltosIdler("TeleGPS-v2",
                               AltosIdler.idle_gps,
                               AltosIdler.idle_sensor_tgps2),
+               new AltosIdler("TeleGPS-v3",
+                              AltosIdler.idle_gps,
+                              AltosIdler.idle_sensor_tgps3),
                new AltosIdler("EasyTimer-v1",
                               AltosIdler.idle_imu_et_v1,
                               AltosIdler.idle_sensor_easytimer1),