Merge branch 'master'
[fw/altos] / altoslib / AltosConfigData.java
index 18815cf4b26a86b3c8ccec7f23b5ba2944dbb73e..5797f6325c64071226ccdb256eb059d1f90242b3 100644 (file)
@@ -86,6 +86,8 @@ public class AltosConfigData {
        /* HAS_RADIO_10MW */
        public int              radio_10mw;
 
+       public int              report_feet;
+
        /* Storage info replies */
        public int      storage_size;
        public int      storage_erase_unit;
@@ -320,6 +322,8 @@ public class AltosConfigData {
 
                radio_10mw = AltosLib.MISSING;
 
+               report_feet = AltosLib.MISSING;
+
                tracker_motion = AltosLib.MISSING;
                tracker_interval = AltosLib.MISSING;
 
@@ -513,6 +517,8 @@ public class AltosConfigData {
                /* HAS_RADIO_10MW */
                try { radio_10mw = get_int(line, "Radio 10mw limit:"); } catch (Exception e) {}
 
+               try { report_feet = get_int(line, "Report in feet:"); } catch (Exception e) {}
+
                /* HAS_TRACKER */
                try {
                        int[] values = get_values(line, "Tracker setting:");
@@ -666,6 +672,8 @@ public class AltosConfigData {
                                return true;
                        if (product.startsWith("EasyMotor-v2"))
                                return true;
+                       if (product.startsWith("EasyMotor-v3"))
+                               return true;
                }
                throw new AltosUnknownProduct(product);
        }
@@ -682,6 +690,8 @@ public class AltosConfigData {
                                return AltosAdxl375.X_AXIS;
                        if (product.startsWith("EasyMotor-v2"))
                                return AltosAdxl375.X_AXIS;
+                       if (product.startsWith("EasyMotor-v3"))
+                               return AltosAdxl375.X_AXIS;
 
                }
                throw new AltosUnknownProduct(product);
@@ -749,6 +759,9 @@ public class AltosConfigData {
                if (radio_10mw != AltosLib.MISSING)
                        radio_10mw = source.radio_10mw();
 
+               if (report_feet != AltosLib.MISSING)
+                       report_feet = source.report_feet();
+
                /* HAS_TRACKER */
                if (tracker_motion != AltosLib.MISSING)
                        tracker_motion = source.tracker_motion();
@@ -805,6 +818,7 @@ public class AltosConfigData {
                dest.set_aprs_offset(aprs_offset);
                dest.set_beep(beep);
                dest.set_radio_10mw(radio_10mw);
+               dest.set_report_feet(report_feet);
                dest.set_tracker_motion(tracker_motion);
                dest.set_tracker_interval(tracker_interval);
        }
@@ -928,6 +942,10 @@ public class AltosConfigData {
                if (radio_10mw != AltosLib.MISSING)
                        link.printf("c p %d\n", radio_10mw);
 
+               /* HAS_RADIO_10MW */
+               if (report_feet != AltosLib.MISSING)
+                       link.printf("c u %d\n", report_feet);
+
                /* HAS_TRACKER */
                if (tracker_motion != AltosLib.MISSING && tracker_interval != AltosLib.MISSING)
                        link.printf("c t %d %d\n", tracker_motion, tracker_interval);