From 0407b92584ead02122f5273fde380dd8a272e83c Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sat, 23 Apr 2011 03:50:13 +0000
Subject: [PATCH] Make DFU and CDC class bootloaders also toggle the LEDs on
 command activity in addition to the periodic flashing.

---
 Bootloaders/CDC/BootloaderCDC.c |  3 +++
 Bootloaders/DFU/BootloaderDFU.c | 11 +++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c
index ba0a629bc..7695e33d8 100644
--- a/Bootloaders/CDC/BootloaderCDC.c
+++ b/Bootloaders/CDC/BootloaderCDC.c
@@ -148,6 +148,9 @@ void EVENT_USB_Device_ControlRequest(void)
 		return;
 	}
 
+	/* Activity - toggle indicator LEDs */
+	LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2);
+
 	/* Process CDC specific control requests */
 	switch (USB_ControlRequest.bRequest)
 	{
diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c
index 9f6166075..fdd4d2de6 100644
--- a/Bootloaders/DFU/BootloaderDFU.c
+++ b/Bootloaders/DFU/BootloaderDFU.c
@@ -181,10 +181,7 @@ ISR(TIMER1_OVF_vect, ISR_BLOCK)
  *  internally.
  */
 void EVENT_USB_Device_ControlRequest(void)
-{
-	/* Get the size of the command and data from the wLength value */
-	SentCommand.DataSize = USB_ControlRequest.wLength;
-	
+{	
 	/* Ignore any requests that aren't directed to the DFU interface */
 	if ((USB_ControlRequest.bmRequestType & (CONTROL_REQTYPE_TYPE | CONTROL_REQTYPE_RECIPIENT)) !=
 	    (REQTYPE_CLASS | REQREC_INTERFACE))
@@ -192,6 +189,12 @@ void EVENT_USB_Device_ControlRequest(void)
 		return;
 	}
 
+	/* Activity - toggle indicator LEDs */
+	LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2);
+
+	/* Get the size of the command and data from the wLength value */
+	SentCommand.DataSize = USB_ControlRequest.wLength;
+
 	switch (USB_ControlRequest.bRequest)
 	{
 		case DFU_REQ_DNLOAD:
-- 
GitLab