From eda8f1301f1a1d1ee807d172bc8829b919286bb4 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sun, 4 Mar 2012 19:38:53 -0500 Subject: [PATCH] Lowering non-Windows timeout for assuming Leonardo has reset. On Mac and Linux, the serial port should disappear fairly quickly. So if we see the selected port after 500 ms, it should be the bootloader (not the sketch still). --- app/src/processing/app/debug/AvrdudeUploader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/processing/app/debug/AvrdudeUploader.java b/app/src/processing/app/debug/AvrdudeUploader.java index 5c71a93ae..e0f06711c 100755 --- a/app/src/processing/app/debug/AvrdudeUploader.java +++ b/app/src/processing/app/debug/AvrdudeUploader.java @@ -125,8 +125,10 @@ public class AvrdudeUploader extends Uploader { Thread.sleep(250); elapsed += 250; - // If after 5 seconds the selected port is active use that port - if (elapsed == 5000 && now.contains(uploadPort)) { + // On Windows, it can take a long time for the port to disappear and + // come back, so use a longer time out before assuming that the selected + // port is the bootloader (not the sketch). + if (((!Base.isWindows() && elapsed >= 500) || elapsed >= 5000) && now.contains(uploadPort)) { System.out.println("using selected port: " + uploadPort); caterinaUploadPort = uploadPort; break;