diff --git a/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java b/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java index 81c084054..86524f773 100644 --- a/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java +++ b/arduino-core/src/cc/arduino/packages/uploaders/SerialUploader.java @@ -116,7 +116,7 @@ public class SerialUploader extends Uploader { if (verbose) System.out.println( I18n.format(_("Forcing reset using 1200bps open/close on port {0}"), uploadPort)); - Serial.touchPort(uploadPort, 1200); + Serial.touchForCDCReset(uploadPort); } Thread.sleep(400); if (waitForUploadPort) { diff --git a/arduino-core/src/processing/app/Serial.java b/arduino-core/src/processing/app/Serial.java index 672db063d..53d0601ae 100644 --- a/arduino-core/src/processing/app/Serial.java +++ b/arduino-core/src/processing/app/Serial.java @@ -80,11 +80,12 @@ public class Serial implements SerialPortEventListener { new Float(PreferencesData.get("serial.stopbits")).floatValue()); } - public static boolean touchPort(String iname, int irate) throws SerialException { + public static boolean touchForCDCReset(String iname) throws SerialException { SerialPort serialPort = new SerialPort(iname); try { serialPort.openPort(); - serialPort.setParams(irate, 8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); + serialPort.setParams(1200, 8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); + serialPort.setDTR(false); serialPort.closePort(); return true; } catch (SerialPortException e) {