diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2013-03-23 12:01:25 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2013-03-23 12:01:25 +0000 |
commit | 31d3984d8d8afeed7b1e064428b01e42fe27f2f9 (patch) | |
tree | a0cea4e0d7979d352a0f763e3d6606960554904f /LUFA/Drivers/USB/Class/Device/HIDClassDevice.c | |
parent | 141f24b4a13144a49fe21f7352b0e9d34962e2dd (diff) | |
download | lufa-31d3984d8d8afeed7b1e064428b01e42fe27f2f9.tar.gz lufa-31d3984d8d8afeed7b1e064428b01e42fe27f2f9.tar.bz2 lufa-31d3984d8d8afeed7b1e064428b01e42fe27f2f9.zip |
Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael).
Diffstat (limited to 'LUFA/Drivers/USB/Class/Device/HIDClassDevice.c')
-rw-r--r-- | LUFA/Drivers/USB/Class/Device/HIDClassDevice.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c b/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c index f6b665917..6ca4c1f2d 100644 --- a/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c +++ b/LUFA/Drivers/USB/Class/Device/HIDClassDevice.c @@ -144,8 +144,8 @@ bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfac HIDInterfaceInfo->Config.ReportINEndpoint.Type = EP_TYPE_INTERRUPT; if (!(Endpoint_ConfigureEndpointTable(&HIDInterfaceInfo->Config.ReportINEndpoint, 1))) - return false; - + return false; + return true; } @@ -155,8 +155,15 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) return; if (HIDInterfaceInfo->State.PrevFrameNum == USB_Device_GetFrameNumber()) - return; - + { + #if defined(USB_DEVICE_OPT_LOWSPEED) + if (!(USB_Options & USB_DEVICE_OPT_LOWSPEED)) + return; + #else + return; + #endif + } + Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpoint.Address); if (Endpoint_IsReadWriteAllowed()) @@ -191,7 +198,7 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) Endpoint_ClearIN(); } - + HIDInterfaceInfo->State.PrevFrameNum = USB_Device_GetFrameNumber(); } } |