X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosLink.java;h=95acfc44cd6a49bcf6400e517d43cc406ca199a3;hb=426bacbbd6e0573b143e7c48d71db977e53181fc;hp=c0031cadbf059ce3ea38c6e102901dac1be79e9d;hpb=88df7cd314269fa1debe226b49b7e4e9dc238d8e;p=fw%2Faltos diff --git a/altoslib/AltosLink.java b/altoslib/AltosLink.java index c0031cad..95acfc44 100644 --- a/altoslib/AltosLink.java +++ b/altoslib/AltosLink.java @@ -386,7 +386,7 @@ public abstract class AltosLink implements Runnable { flush_output(); } - public void set_monitor(boolean monitor) { + public synchronized void set_monitor(boolean monitor) { monitor_mode = monitor; if (monitor) printf("m %x\n", telemetry_len()); @@ -395,6 +395,10 @@ public abstract class AltosLink implements Runnable { flush_output(); } + public synchronized boolean get_monitor() { + return monitor_mode; + } + private void set_channel(int channel) { if (monitor_mode) printf("m 0\nc r %d\nm %x\n", @@ -427,8 +431,10 @@ public abstract class AltosLink implements Runnable { public void set_callsign(String callsign) { this.callsign = callsign; - printf ("c c %s\n", callsign); - flush_output(); + if (callsign != null) { + printf ("c c %s\n", callsign); + flush_output(); + } } public boolean is_loader() throws InterruptedException { @@ -467,7 +473,7 @@ public abstract class AltosLink implements Runnable { if (telemetry_rate < 0) telemetry_rate = AltosPreferences.telemetry_rate(serial); set_telemetry_rate(telemetry_rate); - if (callsign.equals("")) + if (callsign == null || callsign.equals("")) callsign = AltosPreferences.callsign(); set_callsign(callsign); printf("p\nE 0\n");