diff --git a/Demos/Device/GenericHID/GenericHID.c b/Demos/Device/GenericHID/GenericHID.c index 2d9869982a..3b5f97267f 100644 --- a/Demos/Device/GenericHID/GenericHID.c +++ b/Demos/Device/GenericHID/GenericHID.c @@ -103,6 +103,11 @@ EVENT_HANDLER(USB_Reset) */ EVENT_HANDLER(USB_Connect) { + #if !defined(INTERRUPT_CONTROL_ENDPOINT) + /* Start USB management task */ + Scheduler_SetTaskMode(USB_USBTask, TASK_RUN); + #endif + /* Indicate USB enumerating */ UpdateStatus(Status_USBEnumerating); } @@ -112,6 +117,15 @@ EVENT_HANDLER(USB_Connect) */ EVENT_HANDLER(USB_Disconnect) { + /* Stop running HID reporting and USB management tasks */ + #if !defined(INTERRUPT_DATA_ENDPOINT) + Scheduler_SetTaskMode(USB_HID_Report, TASK_STOP); + #endif + + #if !defined(INTERRUPT_CONTROL_ENDPOINT) + Scheduler_SetTaskMode(USB_USBTask, TASK_STOP); + #endif + /* Indicate USB not ready */ UpdateStatus(Status_USBNotReady); } diff --git a/Demos/Device/Mouse/Mouse.c b/Demos/Device/Mouse/Mouse.c index c429768c92..076ac5bbdc 100644 --- a/Demos/Device/Mouse/Mouse.c +++ b/Demos/Device/Mouse/Mouse.c @@ -145,7 +145,7 @@ EVENT_HANDLER(USB_Reset) */ EVENT_HANDLER(USB_Disconnect) { - /* Stop running keyboard reporting and USB management tasks */ + /* Stop running mouse reporting and USB management tasks */ #if !defined(INTERRUPT_DATA_ENDPOINT) Scheduler_SetTaskMode(USB_Mouse_Report, TASK_STOP); #endif diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 04b0e97570..64182b02d3 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -26,6 +26,7 @@ * outdated avr-libc versions. * - Added support to the CDCHost demo for devices with mutiple CDC interfaces which are not the correct ACM type preceeding the desired * ACM CDC interface + * - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen) * * \section Sec_ChangeLog090401 Version 090401 *