X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosLink.java;h=62bd82b93c2ae617c4d67a305696e99a32bd3ba7;hp=eadab5dff6d3029b77c7e8b08e84c0444f6cba79;hb=e7515e3a88d53c50dd9b962cc8f43ce5376ccd0b;hpb=46f08f8709c538f3fee8e166598f0bb930df6e3c diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java index eadab5df..62bd82b9 100644 --- a/altoslib/AltosLink.java +++ b/altoslib/AltosLink.java @@ -163,8 +163,21 @@ public abstract class AltosLink implements Runnable { if (!can_cancel && remote) System.out.printf("Uh-oh, reading remote serial device from swing thread\n"); - if (remote && can_cancel) + if (remote && can_cancel) { timeout = 500; + switch (telemetry_rate) { + case AltosLib.ao_telemetry_rate_38400: + default: + timeout = 500; + break; + case AltosLib.ao_telemetry_rate_9600: + timeout = 2000; + break; + case AltosLib.ao_telemetry_rate_2400: + timeout = 8000; + break; + } + } try { ++in_reply; @@ -307,7 +320,7 @@ public abstract class AltosLink implements Runnable { */ public boolean monitor_mode = false; public int telemetry = AltosLib.ao_telemetry_standard; - public int telemetry_rate = AltosLib.ao_telemetry_rate_38400; + public int telemetry_rate = -1; public double frequency; public String callsign; AltosConfigData config_data; @@ -446,7 +459,12 @@ public abstract class AltosLink implements Runnable { if (debug) System.out.printf("start remote %7.3f\n", frequency); set_radio_frequency(frequency); - set_callsign(AltosPreferences.callsign()); + if (telemetry_rate < 0) + telemetry_rate = AltosPreferences.telemetry_rate(serial); + set_telemetry_rate(telemetry_rate); + if (callsign.equals("")) + callsign = AltosPreferences.callsign(); + set_callsign(callsign); printf("p\nE 0\n"); flush_input(); remote = true;