From 0dabb25963852c072f6d8428c5b3e2884532f282 Mon Sep 17 00:00:00 2001 From: Andrey Filimonov Date: Wed, 1 Apr 2015 13:41:36 +0300 Subject: [PATCH] Added to configuration options to disable ArduinoIDE SerialMonitor to set DTR and RTS active when the Monitor is opened --- arduino-core/src/processing/app/Serial.java | 20 ++++++++++++++------ hardware/esp8266com/esp8266/boards.txt | 2 ++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/arduino-core/src/processing/app/Serial.java b/arduino-core/src/processing/app/Serial.java index 672db063d..f41843a1f 100644 --- a/arduino-core/src/processing/app/Serial.java +++ b/arduino-core/src/processing/app/Serial.java @@ -57,27 +57,35 @@ public class Serial implements SerialPortEventListener { PreferencesData.getInteger("serial.debug_rate"), PreferencesData.get("serial.parity").charAt(0), PreferencesData.getInteger("serial.databits"), - new Float(PreferencesData.get("serial.stopbits")).floatValue()); + new Float(PreferencesData.get("serial.stopbits")).floatValue(), + !BaseNoGui.getBoardPreferences().has("serial.disableRTS"), + !BaseNoGui.getBoardPreferences().has("serial.disableDTR")); } public Serial(int irate) throws SerialException { this(PreferencesData.get("serial.port"), irate, PreferencesData.get("serial.parity").charAt(0), PreferencesData.getInteger("serial.databits"), - new Float(PreferencesData.get("serial.stopbits")).floatValue()); + new Float(PreferencesData.get("serial.stopbits")).floatValue(), + !BaseNoGui.getBoardPreferences().has("serial.disableRTS"), + !BaseNoGui.getBoardPreferences().has("serial.disableDTR")); } public Serial(String iname, int irate) throws SerialException { this(iname, irate, PreferencesData.get("serial.parity").charAt(0), PreferencesData.getInteger("serial.databits"), - new Float(PreferencesData.get("serial.stopbits")).floatValue()); + new Float(PreferencesData.get("serial.stopbits")).floatValue(), + !BaseNoGui.getBoardPreferences().has("serial.disableRTS"), + !BaseNoGui.getBoardPreferences().has("serial.disableDTR")); } public Serial(String iname) throws SerialException { this(iname, PreferencesData.getInteger("serial.debug_rate"), PreferencesData.get("serial.parity").charAt(0), PreferencesData.getInteger("serial.databits"), - new Float(PreferencesData.get("serial.stopbits")).floatValue()); + new Float(PreferencesData.get("serial.stopbits")).floatValue(), + !BaseNoGui.getBoardPreferences().has("serial.disableRTS"), + !BaseNoGui.getBoardPreferences().has("serial.disableDTR")); } public static boolean touchPort(String iname, int irate) throws SerialException { @@ -100,7 +108,7 @@ public class Serial implements SerialPortEventListener { } } - public Serial(String iname, int irate, char iparity, int idatabits, float istopbits) throws SerialException { + public Serial(String iname, int irate, char iparity, int idatabits, float istopbits, boolean setRTS, boolean setDTR) throws SerialException { //if (port != null) port.close(); //this.parent = parent; //parent.attach(this); @@ -120,7 +128,7 @@ public class Serial implements SerialPortEventListener { try { port = new SerialPort(iname); port.openPort(); - port.setParams(rate, databits, stopbits, parity, true, true); + port.setParams(rate, databits, stopbits, parity, setRTS, setDTR); port.addEventListener(this); } catch (Exception e) { throw new SerialException(I18n.format(_("Error opening serial port ''{0}''."), iname), e); diff --git a/hardware/esp8266com/esp8266/boards.txt b/hardware/esp8266com/esp8266/boards.txt index d070048fb..fbdce1ba8 100644 --- a/hardware/esp8266com/esp8266/boards.txt +++ b/hardware/esp8266com/esp8266/boards.txt @@ -6,6 +6,8 @@ esp01.upload.speed=115200 esp01.upload.resetmethod=none esp01.upload.maximum_size=524288 esp01.upload.wait_for_upload_port=true +esp01.serial.disableDTR=true +esp01.serial.disableRTS=true esp01.build.mcu=esp8266 esp01.build.f_cpu=80000000L