33
33
import processing .app .debug .RunnerException ;
34
34
import processing .app .debug .TargetPlatform ;
35
35
import processing .app .helpers .PreferencesMap ;
36
+ import processing .app .helpers .PreferencesMapException ;
36
37
import processing .app .helpers .StringReplacer ;
37
38
38
39
import java .io .File ;
43
44
44
45
public class SerialUploader extends Uploader {
45
46
46
- public boolean uploadUsingPreferences (File sourcePath , String buildPath , String className , boolean usingProgrammer , List <String > warningsAccumulator ) throws RunnerException {
47
+ public boolean uploadUsingPreferences (File sourcePath , String buildPath , String className , boolean usingProgrammer , List <String > warningsAccumulator ) throws Exception {
47
48
// FIXME: Preferences should be reorganized
48
49
TargetPlatform targetPlatform = Base .getTargetPlatform ();
49
50
PreferencesMap prefs = Preferences .getMap ();
50
51
prefs .putAll (Base .getBoardPreferences ());
51
- prefs .putAll (targetPlatform .getTool (prefs .get ("upload.tool" )));
52
+ prefs .putAll (targetPlatform .getTool (prefs .getOrExcept ("upload.tool" )));
52
53
53
54
// if no protocol is specified for this board, assume it lacks a
54
55
// bootloader and upload using the selected programmer.
@@ -69,7 +70,7 @@ public boolean uploadUsingPreferences(File sourcePath, String buildPath, String
69
70
boolean waitForUploadPort = (t != null ) && t .equals ("true" );
70
71
71
72
if (doTouch ) {
72
- String uploadPort = prefs .get ("serial.port" );
73
+ String uploadPort = prefs .getOrExcept ("serial.port" );
73
74
try {
74
75
// Toggle 1200 bps on selected serial port to force board reset.
75
76
List <String > before = Serial .list ();
@@ -105,9 +106,9 @@ public boolean uploadUsingPreferences(File sourcePath, String buildPath, String
105
106
prefs .put ("build.path" , buildPath );
106
107
prefs .put ("build.project_name" , className );
107
108
if (verbose )
108
- prefs .put ("upload.verbose" , prefs .get ("upload.params.verbose" ));
109
+ prefs .put ("upload.verbose" , prefs .getOrExcept ("upload.params.verbose" ));
109
110
else
110
- prefs .put ("upload.verbose" , prefs .get ("upload.params.quiet" ));
111
+ prefs .put ("upload.verbose" , prefs .getOrExcept ("upload.params.quiet" ));
111
112
112
113
boolean uploadResult ;
113
114
try {
@@ -116,7 +117,7 @@ public boolean uploadUsingPreferences(File sourcePath, String buildPath, String
116
117
// flushSerialBuffer();
117
118
// }
118
119
119
- String pattern = prefs .get ("upload.pattern" );
120
+ String pattern = prefs .getOrExcept ("upload.pattern" );
120
121
String [] cmd = StringReplacer .formatAndSplit (pattern , prefs , true );
121
122
uploadResult = executeUploadCommand (cmd );
122
123
} catch (Exception e ) {
@@ -207,7 +208,7 @@ private String waitForUploadPort(String uploadPort, List<String> before) throws
207
208
throw new RunnerException (_ ("Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload." ));
208
209
}
209
210
210
- public boolean uploadUsingProgrammer (String buildPath , String className ) throws RunnerException {
211
+ public boolean uploadUsingProgrammer (String buildPath , String className ) throws Exception {
211
212
212
213
TargetPlatform targetPlatform = Base .getTargetPlatform ();
213
214
String programmer = Preferences .get ("programmer" );
@@ -220,15 +221,15 @@ public boolean uploadUsingProgrammer(String buildPath, String className) throws
220
221
PreferencesMap prefs = Preferences .getMap ();
221
222
prefs .putAll (Base .getBoardPreferences ());
222
223
prefs .putAll (targetPlatform .getProgrammer (programmer ));
223
- prefs .putAll (targetPlatform .getTool (prefs .get ("program.tool" )));
224
+ prefs .putAll (targetPlatform .getTool (prefs .getOrExcept ("program.tool" )));
224
225
225
226
prefs .put ("build.path" , buildPath );
226
227
prefs .put ("build.project_name" , className );
227
228
228
229
if (verbose )
229
- prefs .put ("program.verbose" , prefs .get ("program.params.verbose" ));
230
+ prefs .put ("program.verbose" , prefs .getOrExcept ("program.params.verbose" ));
230
231
else
231
- prefs .put ("program.verbose" , prefs .get ("program.params.quiet" ));
232
+ prefs .put ("program.verbose" , prefs .getOrExcept ("program.params.quiet" ));
232
233
233
234
try {
234
235
// if (prefs.get("program.disable_flushing") == null
@@ -237,15 +238,15 @@ public boolean uploadUsingProgrammer(String buildPath, String className) throws
237
238
// flushSerialBuffer();
238
239
// }
239
240
240
- String pattern = prefs .get ("program.pattern" );
241
+ String pattern = prefs .getOrExcept ("program.pattern" );
241
242
String [] cmd = StringReplacer .formatAndSplit (pattern , prefs , true );
242
243
return executeUploadCommand (cmd );
243
244
} catch (Exception e ) {
244
245
throw new RunnerException (e );
245
246
}
246
247
}
247
248
248
- public boolean burnBootloader () throws RunnerException {
249
+ public boolean burnBootloader () throws Exception {
249
250
TargetPlatform targetPlatform = Base .getTargetPlatform ();
250
251
251
252
// Find preferences for the selected programmer
@@ -267,7 +268,7 @@ public boolean burnBootloader() throws RunnerException {
267
268
268
269
// Create configuration for bootloader tool
269
270
PreferencesMap toolPrefs = new PreferencesMap ();
270
- String tool = prefs .get ("bootloader.tool" );
271
+ String tool = prefs .getOrExcept ("bootloader.tool" );
271
272
if (tool .contains (":" )) {
272
273
String [] split = tool .split (":" , 2 );
273
274
TargetPlatform platform = Base .getCurrentTargetPlatformFromPackage (split [0 ]);
@@ -283,20 +284,20 @@ public boolean burnBootloader() throws RunnerException {
283
284
// Merge tool with global configuration
284
285
prefs .putAll (toolPrefs );
285
286
if (verbose ) {
286
- prefs .put ("erase.verbose" , prefs .get ("erase.params.verbose" ));
287
- prefs .put ("bootloader.verbose" , prefs .get ("bootloader.params.verbose" ));
287
+ prefs .put ("erase.verbose" , prefs .getOrExcept ("erase.params.verbose" ));
288
+ prefs .put ("bootloader.verbose" , prefs .getOrExcept ("bootloader.params.verbose" ));
288
289
} else {
289
- prefs .put ("erase.verbose" , prefs .get ("erase.params.quiet" ));
290
- prefs .put ("bootloader.verbose" , prefs .get ("bootloader.params.quiet" ));
290
+ prefs .put ("erase.verbose" , prefs .getOrExcept ("erase.params.quiet" ));
291
+ prefs .put ("bootloader.verbose" , prefs .getOrExcept ("bootloader.params.quiet" ));
291
292
}
292
293
293
294
try {
294
- String pattern = prefs .get ("erase.pattern" );
295
+ String pattern = prefs .getOrExcept ("erase.pattern" );
295
296
String [] cmd = StringReplacer .formatAndSplit (pattern , prefs , true );
296
297
if (!executeUploadCommand (cmd ))
297
298
return false ;
298
299
299
- pattern = prefs .get ("bootloader.pattern" );
300
+ pattern = prefs .getOrExcept ("bootloader.pattern" );
300
301
cmd = StringReplacer .formatAndSplit (pattern , prefs , true );
301
302
return executeUploadCommand (cmd );
302
303
} catch (Exception e ) {
0 commit comments