From 3e9448d34b3e43d3af82929df16473d8e6a23f2a Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Fri, 17 Mar 2017 12:04:34 -0400 Subject: [PATCH] Disable serial monitor for non-SSH network ports --- app/src/cc/arduino/packages/MonitorFactory.java | 8 +++++++- app/src/processing/app/Editor.java | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/cc/arduino/packages/MonitorFactory.java b/app/src/cc/arduino/packages/MonitorFactory.java index 0eee5eb6e..83d849dd6 100644 --- a/app/src/cc/arduino/packages/MonitorFactory.java +++ b/app/src/cc/arduino/packages/MonitorFactory.java @@ -37,7 +37,13 @@ public class MonitorFactory { public AbstractMonitor newMonitor(BoardPort port) { if ("network".equals(port.getProtocol())) { - return new NetworkMonitor(port); + if ("yes".equals(port.getPrefs().get("ssh_upload"))) { + // the board is SSH capable + return new NetworkMonitor(port); + } else { + // SSH not supported, no monitor support + return null; + } } return new SerialMonitor(port); diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index acc2345de..7d2627195 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -2318,6 +2318,14 @@ public class Editor extends JFrame implements RunnerListener { } serialMonitor = new MonitorFactory().newMonitor(port); + + if (serialMonitor == null) { + String board = port.getPrefs().get("board"); + String boardName = BaseNoGui.getPlatform().resolveDeviceByBoardID(BaseNoGui.packages, board); + statusError(I18n.format(tr("Serial monitor is not supported on network ports such as {0} for the {1} in this release"), PreferencesData.get("serial.port"), boardName)); + return; + } + Base.setIcon(serialMonitor); // If currently uploading, disable the monitor (it will be later