X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConfigData.java;h=7a518ab4e1babff32b65137ff6e98399b6e2634a;hb=debian;hp=cd649113b1a6b8293b3766f05a74f97ae6f79d0b;hpb=c747b2dfc3fd718a5af1b1845b74de6ec66991a6;p=fw%2Faltos diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index cd649113..6b980be6 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -86,6 +86,11 @@ public class AltosConfigData { /* 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; @@ -215,8 +220,15 @@ public class AltosConfigData { 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-")) @@ -320,6 +332,10 @@ public class AltosConfigData { radio_10mw = AltosLib.MISSING; + report_feet = AltosLib.MISSING; + + gps_receiver = AltosLib.MISSING; + tracker_motion = AltosLib.MISSING; tracker_interval = AltosLib.MISSING; @@ -513,6 +529,10 @@ 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) {} + + try { gps_receiver = get_int(line, "GPS receiver:"); } catch (Exception e) {} + /* HAS_TRACKER */ try { int[] values = get_values(line, "Tracker setting:"); @@ -632,6 +652,8 @@ public class AltosConfigData { return false; if (product.startsWith("TeleMetrum-v3")) return false; + if (product.startsWith("TeleMetrum-v4")) + return true; if (product.startsWith("EasyMega")) return false; return true; @@ -658,10 +680,18 @@ public class AltosConfigData { 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 true; } throw new AltosUnknownProduct(product); } @@ -672,10 +702,18 @@ public class AltosConfigData { 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")) + return AltosAdxl375.X_AXIS; } throw new AltosUnknownProduct(product); @@ -743,6 +781,12 @@ public class AltosConfigData { 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(); @@ -799,6 +843,8 @@ 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_gps_receiver(gps_receiver); dest.set_tracker_motion(tracker_motion); dest.set_tracker_interval(tracker_interval); } @@ -922,6 +968,13 @@ public class AltosConfigData { 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);