import java.util.prefs.*;
import java.util.concurrent.LinkedBlockingQueue;
-import altosui.Altos;
-import altosui.AltosSerial;
-import altosui.AltosSerialMonitor;
-import altosui.AltosRecord;
-import altosui.AltosTelemetry;
-import altosui.AltosState;
-import altosui.AltosDeviceDialog;
-import altosui.AltosPreferences;
-import altosui.AltosLog;
-import altosui.AltosVoice;
-import altosui.AltosEepromMonitor;
-
import libaltosJNI.*;
public class AltosEepromDownload implements Runnable {
public void run () {
if (remote) {
- serial_line.set_channel(AltosPreferences.channel());
+ serial_line.set_channel(AltosPreferences.channel(device.getSerial()));
serial_line.set_callsign(AltosPreferences.callsign());
serial_line.printf("p\nE 0\n");
serial_line.flush_input();
public AltosEepromDownload(JFrame given_frame) {
frame = given_frame;
- device = AltosDeviceDialog.show(frame, AltosDevice.Any);
+ device = AltosDeviceDialog.show(frame, AltosDevice.product_any);
- serial_line = new AltosSerial();
remote = false;
if (device != null) {
try {
- serial_line.open(device);
- if (!device.matchProduct(AltosDevice.TeleMetrum))
+ serial_line = new AltosSerial(device);
+ if (!device.matchProduct(AltosDevice.product_telemetrum))
remote = true;
eeprom_thread = new Thread(this);
eeprom_thread.start();
device.getPath()),
"Cannot open target device",
JOptionPane.ERROR_MESSAGE);
+ } catch (AltosSerialInUseException si) {
+ JOptionPane.showMessageDialog(frame,
+ String.format("Device \"%s\" already in use",
+ device.getPath()),
+ "Device in use",
+ JOptionPane.ERROR_MESSAGE);
} catch (IOException ee) {
JOptionPane.showMessageDialog(frame,
device.getPath(),