From 252a6f60cd9d50d9f7e0cebc9b6001ec5c9a00bb Mon Sep 17 00:00:00 2001 From: Sylvain Leroux Date: Wed, 25 Apr 2012 19:11:45 +0200 Subject: [PATCH 1/2] Add the "dont_erase" option to board preferences Some AVR require to be erased before uploading a new program. But the Arduino IDE always pass the '-D' (dont erase) option to avrdude. This patch allow to disable this feature on a per-board basis. --- app/src/processing/app/debug/AvrdudeUploader.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/debug/AvrdudeUploader.java b/app/src/processing/app/debug/AvrdudeUploader.java index 408a9a67e8d..6142e351dd8 100755 --- a/app/src/processing/app/debug/AvrdudeUploader.java +++ b/app/src/processing/app/debug/AvrdudeUploader.java @@ -80,7 +80,9 @@ private boolean uploadViaBootloader(String buildPath, String className) "-P" + (Base.isWindows() ? "\\\\.\\" : "") + Preferences.get("serial.port")); commandDownloader.add( "-b" + Integer.parseInt(boardPreferences.get("upload.speed"))); - commandDownloader.add("-D"); // don't erase + if (!boardPreferences.containsKey("upload.dont_erase") + || boardPreferences.get("upload.dont_erase").toLowerCase().equals("false")) + commandDownloader.add("-D"); // don't erase if (!Preferences.getBoolean("upload.verify")) commandDownloader.add("-V"); // disable verify commandDownloader.add("-Uflash:w:" + buildPath + File.separator + className + ".hex:i"); From 3a4eb276b077663af0ddf5d0b5199431fedbeb77 Mon Sep 17 00:00:00 2001 From: Sylvain Leroux Date: Wed, 25 Apr 2012 19:48:25 +0200 Subject: [PATCH 2/2] Reversed the meaning of the "dont_erase" flag When the "dont_erase" preference flag in not set or is set to "true" (case insensitive) add the -D flag ("normal" behavior). If the flag is set to anything but "true", don't append the '-D' option to avrdude ("new" behavior). --- app/src/processing/app/debug/AvrdudeUploader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/processing/app/debug/AvrdudeUploader.java b/app/src/processing/app/debug/AvrdudeUploader.java index 6142e351dd8..c730a5824d3 100755 --- a/app/src/processing/app/debug/AvrdudeUploader.java +++ b/app/src/processing/app/debug/AvrdudeUploader.java @@ -81,7 +81,7 @@ private boolean uploadViaBootloader(String buildPath, String className) commandDownloader.add( "-b" + Integer.parseInt(boardPreferences.get("upload.speed"))); if (!boardPreferences.containsKey("upload.dont_erase") - || boardPreferences.get("upload.dont_erase").toLowerCase().equals("false")) + || boardPreferences.get("upload.dont_erase").toLowerCase().equals("true")) commandDownloader.add("-D"); // don't erase if (!Preferences.getBoolean("upload.verify")) commandDownloader.add("-V"); // disable verify commandDownloader.add("-Uflash:w:" + buildPath + File.separator + className + ".hex:i");