altosui: Complete split out of separate java library
[fw/altos] / altosui / AltosSerial.java
index ff1a91a5dedb1206e95376cff310bbad31b7b7bf..74e945f3eff7d31d29ca6ff6af57b7615745ec5c 100644 (file)
@@ -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.*;
 
@@ -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<String> pending_output = new LinkedList<String>();
        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;