From a072cbb137126e677d3ebbf0245ec4ea5aa481ad Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 28 Feb 2014 21:16:57 -0800 Subject: [PATCH] altosui: Retry device enumeration after rebooting for self flash Windows takes 'a while' to include the rebooted device in the list of available devices, so try a few times with a 100ms delay so that we can avoid asking the user to select from an empty list. Signed-off-by: Keith Packard --- altosui/AltosFlashUI.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/altosui/AltosFlashUI.java b/altosui/AltosFlashUI.java index 5913e506..793a8af3 100644 --- a/altosui/AltosFlashUI.java +++ b/altosui/AltosFlashUI.java @@ -377,7 +377,15 @@ public class AltosFlashUI while (!link.is_loader()) { link.to_loader(); - java.util.List devices = AltosUSBDevice.list(AltosLib.product_altusmetrum); + java.util.List devices = null; + + for (int tries = 0; tries < 10; tries++) { + Thread.sleep(100); + devices = AltosUSBDevice.list(AltosLib.product_altusmetrum); + if (devices.size() != 0) + break; + } + if (devices.size() == 1) device = devices.get(0); else { @@ -429,4 +437,4 @@ public class AltosFlashUI frame = in_frame; } -} \ No newline at end of file +} -- 2.30.2