diff options
Diffstat (limited to 'Demos/Device/LowLevel/KeyboardMouse')
-rw-r--r-- | Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c index 687dc3123..2f4bd76cf 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c +++ b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c @@ -148,12 +148,10 @@ void EVENT_USB_Device_UnhandledControlRequest(void) /* Write the report data to the control endpoint */ Endpoint_Write_Control_Stream_LE(ReportData, ReportSize); + Endpoint_ClearOUT(); /* Clear the report data afterwards */ memset(ReportData, 0, ReportSize); - - /* Finalize the stream transfer to send the last packet or clear the host abort */ - Endpoint_ClearOUT(); } break; @@ -169,13 +167,14 @@ void EVENT_USB_Device_UnhandledControlRequest(void) return; } - /* Read in and process the LED report from the host */ - Keyboard_ProcessLEDReport(Endpoint_Read_Byte()); + /* Read in the LED report from the host */ + uint8_t LEDStatus = Endpoint_Read_Byte(); - /* Clear the endpoint data */ Endpoint_ClearOUT(); - Endpoint_ClearStatusStage(); + + /* Process the incoming LED report */ + Keyboard_ProcessLEDReport(LEDStatus); } break; |