Skip to content

Commit dcc1020

Browse files
committed
Better check for programmers configuration when uploading using programmer
1 parent 8ae1d36 commit dcc1020

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

app/src/cc/arduino/packages/uploaders/SerialUploader.java

+19-8
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,22 @@
2626

2727
package cc.arduino.packages.uploaders;
2828

29-
import cc.arduino.packages.Uploader;
30-
import processing.app.*;
31-
import processing.app.debug.RunnerException;
32-
import processing.app.debug.TargetPlatform;
33-
import processing.app.helpers.PreferencesMap;
34-
import processing.app.helpers.StringReplacer;
29+
import static processing.app.I18n._;
3530

3631
import java.io.File;
3732
import java.util.ArrayList;
3833
import java.util.List;
3934

40-
import static processing.app.I18n._;
35+
import processing.app.Base;
36+
import processing.app.I18n;
37+
import processing.app.Preferences;
38+
import processing.app.Serial;
39+
import processing.app.SerialException;
40+
import processing.app.debug.RunnerException;
41+
import processing.app.debug.TargetPlatform;
42+
import processing.app.helpers.PreferencesMap;
43+
import processing.app.helpers.StringReplacer;
44+
import cc.arduino.packages.Uploader;
4145

4246
public class SerialUploader extends Uploader {
4347

@@ -209,7 +213,11 @@ public boolean uploadUsingProgrammer(String buildPath, String className) throws
209213

210214
PreferencesMap prefs = Preferences.getMap();
211215
prefs.putAll(Base.getBoardPreferences());
212-
prefs.putAll(targetPlatform.getProgrammer(programmer));
216+
PreferencesMap programmerPrefs = targetPlatform.getProgrammer(programmer);
217+
if (programmerPrefs == null)
218+
throw new RunnerException(
219+
_("Please select a programmer from Tools->Programmer menu"));
220+
prefs.putAll(programmerPrefs);
213221
prefs.putAll(targetPlatform.getTool(prefs.getOrExcept("program.tool")));
214222

215223
prefs.put("build.path", buildPath);
@@ -251,6 +259,9 @@ public boolean burnBootloader() throws Exception {
251259
} else {
252260
programmerPrefs = targetPlatform.getProgrammer(programmer);
253261
}
262+
if (programmerPrefs == null)
263+
throw new RunnerException(
264+
_("Please select a programmer from Tools->Programmer menu"));
254265

255266
// Build configuration for the current programmer
256267
PreferencesMap prefs = Preferences.getMap();

0 commit comments

Comments
 (0)