aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--boards.txt2
-rw-r--r--cores/arduino/CDC.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/boards.txt b/boards.txt
index 4c847a9..bb5eaad 100644
--- a/boards.txt
+++ b/boards.txt
@@ -3,7 +3,7 @@
leonardo.name=Arduino Leonardo
leonardo.upload.protocol=stk500
leonardo.upload.maximum_size=30720
-leonardo.upload.speed=115200
+leonardo.upload.speed=1200
leonardo.bootloader.low_fuses=0xde
leonardo.bootloader.high_fuses=0xd8
leonardo.bootloader.extended_fuses=0xf3
diff --git a/cores/arduino/CDC.cpp b/cores/arduino/CDC.cpp
index b0e5e89..7d9d682 100644
--- a/cores/arduino/CDC.cpp
+++ b/cores/arduino/CDC.cpp
@@ -94,15 +94,15 @@ bool WEAK CDC_Setup(Setup& setup)
if (CDC_SET_LINE_CODING == r)
{
USB_RecvControl((void*)&_usbLineInfo,7);
+ if (1200 == _usbLineInfo.dwDTERate) // auto-reset is triggered when avrdude opens the port at 1200 bps
+ Reboot();
+
return true;
}
if (CDC_SET_CONTROL_LINE_STATE == r)
{
_usbLineInfo.lineState = setup.wValueL;
-// if (_usbLineInfo.dwDTERate == 115200 && _usbLineInfo.lineState == 0) // Emulate DTR reset hack
- if (_usbLineInfo.lineState == 0)
- Reboot();
return true;
}
}