void USB_Device_ProcessControlRequest(void)
{
- uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
-
- for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
- *(RequestHeader++) = Endpoint_Read_Byte();
+ USB_ControlRequest.bmRequestType = Endpoint_Read_Byte();
+ USB_ControlRequest.bRequest = Endpoint_Read_Byte();
+ USB_ControlRequest.wValue = Endpoint_Read_Word_LE();
+ USB_ControlRequest.wIndex = Endpoint_Read_Word_LE();
+ USB_ControlRequest.wLength = Endpoint_Read_Word_LE();
EVENT_USB_Device_ControlRequest();
else
{
Endpoint_ClearStall();
- Endpoint_ResetFIFO(EndpointIndex);
+ Endpoint_ResetEndpoint(EndpointIndex);
Endpoint_ResetDataToggle();
}
}