diff options
author | Keith Packard <keithp@keithp.com> | 2010-11-13 16:07:04 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-11-13 16:07:04 -0800 |
commit | dcfa56498d1b65a213b8aba9cbd6c4806532383c (patch) | |
tree | 196742b9dea168b18f6fbadaa54573a15fefd2b3 /ao-tools/altosui/AltosFlashUI.java | |
parent | 8463ffcaca6bcd31e645aba71c171f548dce96d8 (diff) |
altosui: Open serial device at 'new' time. Prohibit duplicate opens.
With the per-serial UI, there's never a reason to create a serial
device without opening it right away. This eliminates the bug caused
by not opening the serial device for telemetry reception.
Serial devices can now be opened only once; this eliminates errors
when trying to reflash or configure devices while receiving telemetry.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools/altosui/AltosFlashUI.java')
-rw-r--r-- | ao-tools/altosui/AltosFlashUI.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ao-tools/altosui/AltosFlashUI.java b/ao-tools/altosui/AltosFlashUI.java index 70c8c549..b09cb594 100644 --- a/ao-tools/altosui/AltosFlashUI.java +++ b/ao-tools/altosui/AltosFlashUI.java @@ -65,10 +65,9 @@ public class AltosFlashUI } public void run() { - flash = new AltosFlash(file, debug_dongle); - flash.addActionListener(this); try { - flash.open(); + flash = new AltosFlash(file, debug_dongle); + flash.addActionListener(this); AltosRomconfigUI romconfig_ui = new AltosRomconfigUI (frame); romconfig_ui.set(flash.romconfig()); @@ -88,6 +87,12 @@ public class AltosFlashUI "Cannot open image", file.toString(), JOptionPane.ERROR_MESSAGE); + } catch (AltosSerialInUseException si) { + JOptionPane.showMessageDialog(frame, + String.format("Device \"%s\" already in use", + debug_dongle.getPath()), + "Device in use", + JOptionPane.ERROR_MESSAGE); } catch (IOException e) { JOptionPane.showMessageDialog(frame, e.getMessage(), |