X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConfigData.java;h=5797f6325c64071226ccdb256eb059d1f90242b3;hb=c1708f3fa4ff412da8817ba0fa58d05fe7ef44f5;hp=7b78f760cbf43646fd5923f2fbce0aa7a695a0f6;hpb=daa635de77da3a1926ceb2e2d91e31ec169e173c;p=fw%2Faltos diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index 7b78f760..5797f632 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -83,6 +83,11 @@ public class AltosConfigData { /* HAS_BEEP */ public int beep; + /* HAS_RADIO_10MW */ + public int radio_10mw; + + public int report_feet; + /* Storage info replies */ public int storage_size; public int storage_erase_unit; @@ -223,6 +228,8 @@ public class AltosConfigData { } public boolean has_monitor_battery() { + if (product == null) + return false; if (product.startsWith("TeleBT")) return true; return false; @@ -313,6 +320,10 @@ public class AltosConfigData { beep = AltosLib.MISSING; + radio_10mw = AltosLib.MISSING; + + report_feet = AltosLib.MISSING; + tracker_motion = AltosLib.MISSING; tracker_interval = AltosLib.MISSING; @@ -503,6 +514,11 @@ public class AltosConfigData { /* HAS_BEEP */ try { beep = get_int(line, "Beeper setting:"); } catch (Exception e) {} + /* 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:"); @@ -622,6 +638,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; @@ -648,10 +666,14 @@ 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("EasyMotor-v2")) return true; + if (product.startsWith("EasyMotor-v3")) + return true; } throw new AltosUnknownProduct(product); } @@ -662,10 +684,14 @@ 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("EasyMotor-v2")) return AltosAdxl375.X_AXIS; + if (product.startsWith("EasyMotor-v3")) + return AltosAdxl375.X_AXIS; } throw new AltosUnknownProduct(product); @@ -728,6 +754,14 @@ public class AltosConfigData { /* HAS_BEEP */ if (beep != AltosLib.MISSING) beep = source.beep(); + + /* HAS_RADIO_10MW */ + 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(); @@ -783,6 +817,8 @@ public class AltosConfigData { dest.set_aprs_format(aprs_format); 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); } @@ -902,6 +938,14 @@ public class AltosConfigData { if (beep != AltosLib.MISSING) link.printf("c b %d\n", beep); + /* HAS_RADIO_10MW */ + 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);