Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael).

pull/1469/head
Dean Camera 12 years ago
parent 141f24b4a1
commit 31d3984d8d

@ -17,6 +17,8 @@
* - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files * - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files
* *
* <b>Fixed:</b> * <b>Fixed:</b>
* - Core:
* - Fixed Low Speed USB devices broken when using the library HID Class driver (thanks to Michael)
* - Library Applications: * - Library Applications:
* - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an * - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an
* unknown SCSI command * unknown SCSI command

@ -144,8 +144,8 @@ bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfac
HIDInterfaceInfo->Config.ReportINEndpoint.Type = EP_TYPE_INTERRUPT; HIDInterfaceInfo->Config.ReportINEndpoint.Type = EP_TYPE_INTERRUPT;
if (!(Endpoint_ConfigureEndpointTable(&HIDInterfaceInfo->Config.ReportINEndpoint, 1))) if (!(Endpoint_ConfigureEndpointTable(&HIDInterfaceInfo->Config.ReportINEndpoint, 1)))
return false; return false;
return true; return true;
} }
@ -155,8 +155,15 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
return; return;
if (HIDInterfaceInfo->State.PrevFrameNum == USB_Device_GetFrameNumber()) 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); Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpoint.Address);
if (Endpoint_IsReadWriteAllowed()) if (Endpoint_IsReadWriteAllowed())
@ -191,7 +198,7 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
Endpoint_ClearIN(); Endpoint_ClearIN();
} }
HIDInterfaceInfo->State.PrevFrameNum = USB_Device_GetFrameNumber(); HIDInterfaceInfo->State.PrevFrameNum = USB_Device_GetFrameNumber();
} }
} }

Loading…
Cancel
Save