if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,\r
DComp_HID_Host_NextHIDInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)\r
{\r
- if (FoundEndpoints == (1 << HID_FOUND_DATAPIPE_IN))\r
+ if (FoundEndpoints & HID_FOUND_DATAPIPE_IN)\r
break;\r
\r
return HID_ENUMERROR_EndpointsNotFound;\r
\r
if ((ErrorCode = Pipe_Read_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
- \r
+ \r
+ Pipe_ClearIN(); \r
Pipe_Freeze();\r
\r
return PIPE_RWSTREAM_NoError; \r
if ((ErrorCode = Pipe_Write_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
\r
+ Pipe_ClearOUT();\r
Pipe_Freeze();\r
\r
return PIPE_RWSTREAM_NoError;\r
Pipe_SelectPipe(HIDInterfaceInfo->Config.DataINPipeNumber);\r
Pipe_Unfreeze();\r
\r
- ReportReceived = Pipe_IsReadWriteAllowed();\r
+ ReportReceived = Pipe_IsINReceived();\r
\r
Pipe_Freeze();\r
\r
\r
uint8_t USB_HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo)\r
{\r
- if ((USB_HostState != HOST_STATE_Configured) || !(HIDInterfaceInfo->State.IsActive))\r
- return false;\r
-\r
uint8_t ErrorCode;\r
\r
USB_ControlRequest = (USB_Request_Header_t)\r
{\r
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
.bRequest = REQ_SetProtocol,\r
- .wValue = 1,\r
+ .wValue = 0,\r
.wIndex = HIDInterfaceInfo->State.InterfaceNumber,\r
.wLength = 0,\r
};\r
\r
uint8_t USB_HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* HIDInterfaceInfo)\r
{\r
- if ((USB_HostState != HOST_STATE_Configured) || !(HIDInterfaceInfo->State.IsActive))\r
- return false;\r
-\r
uint8_t ErrorCode;\r
\r
uint8_t HIDReportData[HIDInterfaceInfo->State.HIDReportSize];\r
{\r
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
.bRequest = REQ_SetProtocol,\r
- .wValue = 0,\r
+ .wValue = 1,\r
.wIndex = HIDInterfaceInfo->State.InterfaceNumber,\r
.wLength = 0,\r
};\r