From d81084e8e91ec4abc24e4b3f6a9ecb9621a6c736 Mon Sep 17 00:00:00 2001 From: Zach Eveland Date: Tue, 6 Sep 2011 20:58:00 -0400 Subject: [PATCH] changed auto-reset trigger condition to fix auto-reset-and-upload for Windows. now reboots when a port, opened at 1200 bps, is closed. --- cores/arduino/CDC.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cores/arduino/CDC.cpp b/cores/arduino/CDC.cpp index 3ad3e98..5059cec 100644 --- a/cores/arduino/CDC.cpp +++ b/cores/arduino/CDC.cpp @@ -95,14 +95,13 @@ 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) { + if (0 != _usbLineInfo.lineState && 1200 == _usbLineInfo.dwDTERate) // auto-reset is triggered when the port, already open at 1200 bps, is closed + Reboot(); _usbLineInfo.lineState = setup.wValueL; return true; }