From e6881fd166586793a5a90effeefe4188092f383b Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 8 Jun 2009 07:46:07 +0000
Subject: Error status LEDs shown when device endpoint configuration fails to
 complete.

MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready.
---
 Demos/Device/LowLevel/Mouse/Mouse.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

(limited to 'Demos/Device/LowLevel/Mouse')

diff --git a/Demos/Device/LowLevel/Mouse/Mouse.c b/Demos/Device/LowLevel/Mouse/Mouse.c
index 422153672..c586b5971 100644
--- a/Demos/Device/LowLevel/Mouse/Mouse.c
+++ b/Demos/Device/LowLevel/Mouse/Mouse.c
@@ -119,13 +119,16 @@ void EVENT_USB_Disconnect(void)
  */ 
 void EVENT_USB_ConfigurationChanged(void)
 {
-	/* Setup Mouse Report Endpoint */
-	Endpoint_ConfigureEndpoint(MOUSE_EPNUM, EP_TYPE_INTERRUPT,
-		                       ENDPOINT_DIR_IN, MOUSE_EPSIZE,
-	                           ENDPOINT_BANK_SINGLE);
-
 	/* Indicate USB connected and ready */
 	LEDs_SetAllLEDs(LEDMASK_USB_READY);
+	
+	/* Setup Mouse Report Endpoint */
+	if (!(Endpoint_ConfigureEndpoint(MOUSE_EPNUM, EP_TYPE_INTERRUPT,
+		                             ENDPOINT_DIR_IN, MOUSE_EPSIZE,
+	                                 ENDPOINT_BANK_SINGLE)))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+	}
 }
 
 /** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific
-- 
cgit v1.2.3