From 70b33da7bb58c5a0b3754b7f66a46e871f653331 Mon Sep 17 00:00:00 2001 From: John Doe Date: Wed, 1 Jul 2015 23:46:00 +0300 Subject: [PATCH] enable defining another command for network uploads --- .../cc/arduino/packages/UploaderFactory.java | 2 +- .../packages/uploaders/SerialUploader.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/arduino-core/src/cc/arduino/packages/UploaderFactory.java b/arduino-core/src/cc/arduino/packages/UploaderFactory.java index 56828a753..90f51d636 100644 --- a/arduino-core/src/cc/arduino/packages/UploaderFactory.java +++ b/arduino-core/src/cc/arduino/packages/UploaderFactory.java @@ -44,7 +44,7 @@ public class UploaderFactory { return new SSHUploader(port); } - return new SerialUploader(); + return new SerialUploader(port); } } diff --git a/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java b/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java index 1b5c8c9fe..23bcc0cdf 100644 --- a/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java +++ b/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java @@ -42,6 +42,8 @@ import static processing.app.I18n._; public class SerialUploader extends Uploader { + private final BoardPort boardPort; + public SerialUploader() { super(); @@ -52,6 +54,12 @@ public class SerialUploader extends Uploader { super(noUploadPort); } + public SerialUploader(BoardPort port) + { + this.boardPort = port; + super(); + } + public boolean uploadUsingPreferences(File sourcePath, String buildPath, String className, boolean usingProgrammer, List warningsAccumulator) throws Exception { // FIXME: Preferences should be reorganized TargetPlatform targetPlatform = BaseNoGui.getTargetPlatform(); @@ -153,7 +161,15 @@ public class SerialUploader extends Uploader { boolean uploadResult; try { - String pattern = prefs.getOrExcept("upload.pattern"); + String pattern; + if(this.boardPort && "network".equals(this.boardPort.getProtocol())){ + prefs.put("network.port", this.boardPort.getPrefs().get("port")); + pattern = prefs.get("network.pattern"); + if(pattern == null) + pattern = prefs.getOrExcept("upload.pattern"); + } else { + pattern = prefs.getOrExcept("upload.pattern"); + } String[] cmd = StringReplacer.formatAndSplit(pattern, prefs, true); uploadResult = executeUploadCommand(cmd); } catch (RunnerException e) {