X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosSerial.java;h=161f0e905995bab3bac4389432ca52034daa82c8;hb=4c88b0ca96758b663c82395e63b338043d1c1a10;hp=ff1a91a5dedb1206e95376cff310bbad31b7b7bf;hpb=d8ebb83e64d66fa159e75aa560d39d80bb6d9d04;p=fw%2Faltos diff --git a/altosui/AltosSerial.java b/altosui/AltosSerial.java index ff1a91a5..161f0e90 100644 --- a/altosui/AltosSerial.java +++ b/altosui/AltosSerial.java @@ -31,6 +31,7 @@ import java.awt.event.*; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.*; +import org.altusmetrum.AltosLib.*; import libaltosJNI.*; @@ -40,7 +41,7 @@ import libaltosJNI.*; * threads. */ -public class AltosSerial implements Runnable { +public class AltosSerial implements Runnable, AltosLink { static java.util.List devices_opened = Collections.synchronizedList(new LinkedList()); @@ -55,7 +56,7 @@ public class AltosSerial implements Runnable { boolean monitor_mode; int telemetry; double frequency; - static boolean debug; + public static boolean debug; boolean remote; LinkedList pending_output = new LinkedList(); Frame frame; @@ -380,6 +381,8 @@ public class AltosSerial implements Runnable { int cal) { if (debug) System.out.printf("set_radio_frequency %7.3f (freq %b) (set %b) %d\n", frequency, has_frequency, has_setting, cal); + if (frequency == 0) + return; if (has_frequency) set_radio_freq((int) Math.floor (frequency * 1000)); else if (has_setting) @@ -390,6 +393,8 @@ public class AltosSerial implements Runnable { public void set_radio_frequency(double in_frequency) throws InterruptedException, TimeoutException { frequency = in_frequency; + if (frequency == 0.0) + frequency = AltosPreferences.frequency(device.getSerial()); config_data(); set_radio_frequency(frequency, config_data.radio_frequency != 0, @@ -434,9 +439,9 @@ public class AltosSerial implements Runnable { if (debug) System.out.printf("start remote %7.3f\n", frequency); if (frequency == 0.0) - frequency = AltosPreferences.frequency(device.getSerial()); + frequency = AltosUIPreferences.frequency(device.getSerial()); set_radio_frequency(frequency); - set_callsign(AltosPreferences.callsign()); + set_callsign(AltosUIPreferences.callsign()); printf("p\nE 0\n"); flush_input(); remote = true;