/* HAS_RADIO_10MW */
public int radio_10mw;
+ public int report_feet;
+
+ /* HAS_GPS_MOSAIC */
+ public int gps_receiver;
+
/* Storage info replies */
public int storage_size;
public int storage_erase_unit;
return 4095 - value;
/* fall through */
case AltosLib.AO_LOG_FORMAT_TELEMEGA_4:
+ case AltosLib.AO_LOG_FORMAT_TELEMEGA_5:
+ case AltosLib.AO_LOG_FORMAT_TELEMEGA_6:
case AltosLib.AO_LOG_FORMAT_EASYMEGA_2:
+ case AltosLib.AO_LOG_FORMAT_EASYMEGA_3:
case AltosLib.AO_LOG_FORMAT_EASYMOTOR:
+ /* ADXL375 */
+ return -value;
+ case AltosLib.AO_LOG_FORMAT_EASYTIMER_2:
+ /* BMI088 */
return -value;
default:
if (product.startsWith("EasyTimer-"))
return false;
}
+ public boolean has_radio() {
+ return product.startsWith("Tele");
+ }
+
int[] parse_version(String v) {
String[] parts = v.split("\\.");
int r[] = new int[parts.length];
radio_10mw = AltosLib.MISSING;
+ report_feet = AltosLib.MISSING;
+
+ gps_receiver = AltosLib.MISSING;
+
tracker_motion = AltosLib.MISSING;
tracker_interval = AltosLib.MISSING;
/* 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) {}
+
+ try { gps_receiver = get_int(line, "GPS receiver:"); } catch (Exception e) {}
+
/* HAS_TRACKER */
try {
int[] values = get_values(line, "Tracker setting:");
return false;
if (product.startsWith("TeleMetrum-v3"))
return false;
+ if (product.startsWith("TeleMetrum-v4"))
+ return true;
if (product.startsWith("EasyMega"))
return false;
return true;
return true;
if (product.startsWith("TeleMetrum-v3"))
return true;
+ if (product.startsWith("TeleMetrum-v4"))
+ return true;
if (product.startsWith("TeleMega-v4"))
return true;
+ if (product.startsWith("TeleMega-v5"))
+ return true;
+ if (product.startsWith("TeleMega-v6"))
+ return true;
if (product.startsWith("EasyMotor-v2"))
return true;
if (product.startsWith("EasyMotor-v3"))
return AltosAdxl375.X_AXIS;
if (product.startsWith("TeleMetrum-v3"))
return AltosAdxl375.X_AXIS;
+ if (product.startsWith("TeleMetrum-v4"))
+ return AltosAdxl375.X_AXIS;
if (product.startsWith("TeleMega-v4"))
return AltosAdxl375.X_AXIS;
+ if (product.startsWith("TeleMega-v5"))
+ return AltosAdxl375.X_AXIS;
+ if (product.startsWith("TeleMega-v6"))
+ return AltosAdxl375.X_AXIS;
if (product.startsWith("EasyMotor-v2"))
return AltosAdxl375.X_AXIS;
if (product.startsWith("EasyMotor-v3"))
if (radio_10mw != AltosLib.MISSING)
radio_10mw = source.radio_10mw();
+ if (report_feet != AltosLib.MISSING)
+ report_feet = source.report_feet();
+
+ if (gps_receiver != AltosLib.MISSING)
+ gps_receiver = source.gps_receiver();
+
/* HAS_TRACKER */
if (tracker_motion != AltosLib.MISSING)
tracker_motion = source.tracker_motion();
dest.set_aprs_offset(aprs_offset);
dest.set_beep(beep);
dest.set_radio_10mw(radio_10mw);
+ dest.set_report_feet(report_feet);
+ dest.set_gps_receiver(gps_receiver);
dest.set_tracker_motion(tracker_motion);
dest.set_tracker_interval(tracker_interval);
}
if (radio_10mw != AltosLib.MISSING)
link.printf("c p %d\n", radio_10mw);
+ if (report_feet != AltosLib.MISSING)
+ link.printf("c u %d\n", report_feet);
+
+ /* HAS_GPS_MOSAIC */
+ if (gps_receiver != AltosLib.MISSING)
+ link.printf("c g %d\n", gps_receiver);
+
/* HAS_TRACKER */
if (tracker_motion != AltosLib.MISSING && tracker_interval != AltosLib.MISSING)
link.printf("c t %d %d\n", tracker_motion, tracker_interval);