From 4f19d9bc8e4bd5c09eb21fd2e25748d5574e37c4 Mon Sep 17 00:00:00 2001 From: Zach Eveland Date: Sun, 23 Oct 2011 16:49:36 -0400 Subject: bootloader responds properly now. nearly there - still have an issue with it falling out of sync after completing most operations --- bootloaders/nuevo_diskloader/src/CDC.cpp | 4 +-- bootloaders/nuevo_diskloader/src/DiskLoader.cpp | 41 +++++++++++++++++++------ bootloaders/nuevo_diskloader/src/USBCore.cpp | 10 +++--- 3 files changed, 39 insertions(+), 16 deletions(-) (limited to 'bootloaders/nuevo_diskloader/src') diff --git a/bootloaders/nuevo_diskloader/src/CDC.cpp b/bootloaders/nuevo_diskloader/src/CDC.cpp index 6c5e8dc..827899d 100644 --- a/bootloaders/nuevo_diskloader/src/CDC.cpp +++ b/bootloaders/nuevo_diskloader/src/CDC.cpp @@ -92,8 +92,8 @@ bool WEAK CDC_Setup(Setup& setup) 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(); +// 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; } diff --git a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp index 86d62e4..2f41f25 100644 --- a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp +++ b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp @@ -116,13 +116,14 @@ int main() _inSync = STK_INSYNC; _ok = STK_OK; + for (;;) { u8* packet = _flashbuf; u16 address = 0; for (;;) { - while (Serial.available() <= 0) + while (Serial.available() < 1) ; u8 cmd = Serial.read(); @@ -185,20 +186,42 @@ int main() USB_Send(CDC_TX, &_inSync, 1); if (send) { - u8 i; - for (i=0; i len) n = len; -- cgit v1.2.3-18-g5258