altosui: Move AltosConfigData.java to library
[fw/altos] / altosui / AltosSerial.java
index 0a531aa96faa8b2b0b27fc0f412b78c920648231..b8c6ed5422c3499efc9bf482644f1ca98658ac1d 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.*;
 
@@ -40,7 +41,7 @@ import libaltosJNI.*;
  * threads.
  */
 
-public class AltosSerial implements Runnable {
+public class AltosSerial implements Runnable, AltosLink {
 
        static java.util.List<String> devices_opened = Collections.synchronizedList(new LinkedList<String>());
 
@@ -323,8 +324,10 @@ public class AltosSerial implements Runnable {
                }
                altos = device.open();
                if (altos == null) {
+                       final String    message = device.getErrorString();
                        close();
-                       throw new FileNotFoundException(device.toShortString());
+                       throw new FileNotFoundException(String.format("%s (%s)",
+                                                                     device.toShortString(), message));
                }
                if (debug)
                        System.out.printf("Open %s\n", device.getPath());
@@ -417,9 +420,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;