summaryrefslogtreecommitdiff
path: root/ao-tools/altosui/AltosFlashUI.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-11-13 16:07:04 -0800
committerKeith Packard <keithp@keithp.com>2010-11-13 16:07:04 -0800
commitdcfa56498d1b65a213b8aba9cbd6c4806532383c (patch)
tree196742b9dea168b18f6fbadaa54573a15fefd2b3 /ao-tools/altosui/AltosFlashUI.java
parent8463ffcaca6bcd31e645aba71c171f548dce96d8 (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.java11
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(),