1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-30 16:24:09 +03:00

Now allowing uploads using a programmer by setting the upload.using preference ("bootloader" for default behavior, or the name of a programmer prefix from the programmers.txt file).

This commit is contained in:
David A. Mellis
2007-12-20 05:48:00 +00:00
parent 0b0d07661e
commit bd56d4ff28
3 changed files with 18 additions and 4 deletions

View File

@ -38,6 +38,17 @@ public class AvrdudeUploader extends Uploader {
// XXX: add support for uploading sketches using a programmer
public boolean uploadUsingPreferences(String buildPath, String className)
throws RunnerException {
if (Preferences.get("upload.using").equals("bootloader")) {
return uploadViaBootloader(buildPath, className);
} else {
Collection params = getProgrammerCommands(Preferences.get("upload.using"));
params.add("-Uflash:w:" + buildPath + File.separator + className + ".hex:i");
return avrdude(params);
}
}
private boolean uploadViaBootloader(String buildPath, String className)
throws RunnerException {
List commandDownloader = new ArrayList();
String protocol = Preferences.get("boards." + Preferences.get("board") + ".upload.protocol");
@ -58,6 +69,10 @@ public class AvrdudeUploader extends Uploader {
}
public boolean burnBootloader(String programmer) throws RunnerException {
return burnBootloader(getProgrammerCommands(programmer));
}
private Collection getProgrammerCommands(String programmer) {
List params = new ArrayList();
params.add("-c" + Preferences.get("programmers." + programmer + ".protocol"));
@ -73,7 +88,7 @@ public class AvrdudeUploader extends Uploader {
if (Preferences.get("programmers." + programmer + ".delay") != null)
params.add("-i" + Preferences.get("programmers." + programmer + ".delay"));
return burnBootloader(params);
return params;
}
protected boolean burnBootloader(Collection params)