X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/1daa5e16f9a395fb2943906a715adb35b8106988..2e76ad721e494f3a14ece73100ea9a2144c6fe8e:/LUFA/Drivers/USB/Core/HostStandardReq.c diff --git a/LUFA/Drivers/USB/Core/HostStandardReq.c b/LUFA/Drivers/USB/Core/HostStandardReq.c index 16d0ffb17..412ac8968 100644 --- a/LUFA/Drivers/USB/Core/HostStandardReq.c +++ b/LUFA/Drivers/USB/Core/HostStandardReq.c @@ -38,11 +38,10 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) { - uint8_t* HeaderStream = (uint8_t*)&USB_ControlRequest; - uint8_t* DataStream = (uint8_t*)BufferPtr; - bool BusSuspended = USB_Host_IsBusSuspended(); - uint8_t ReturnStatus = HOST_SENDCONTROL_Successful; - uint16_t DataLen = USB_ControlRequest.wLength; + uint8_t* DataStream = (uint8_t*)BufferPtr; + bool BusSuspended = USB_Host_IsBusSuspended(); + uint8_t ReturnStatus = HOST_SENDCONTROL_Successful; + uint16_t DataLen = USB_ControlRequest.wLength; USB_Host_ResumeBus(); @@ -50,12 +49,15 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) goto End_Of_Control_Send; Pipe_SetPipeToken(PIPE_TOKEN_SETUP); - Pipe_ClearErrorFlags(); + Pipe_ClearError(); Pipe_Unfreeze(); - for (uint8_t HeaderByte = 0; HeaderByte < sizeof(USB_Request_Header_t); HeaderByte++) - Pipe_Write_Byte(*(HeaderStream++)); + Pipe_Write_8(USB_ControlRequest.bmRequestType); + Pipe_Write_8(USB_ControlRequest.bRequest); + Pipe_Write_16_LE(USB_ControlRequest.wValue); + Pipe_Write_16_LE(USB_ControlRequest.wIndex); + Pipe_Write_16_LE(USB_ControlRequest.wLength); Pipe_ClearSETUP(); @@ -85,7 +87,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) while (Pipe_BytesInPipe() && DataLen) { - *(DataStream++) = Pipe_Read_Byte(); + *(DataStream++) = Pipe_Read_8(); DataLen--; } @@ -119,7 +121,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) while (DataLen && (Pipe_BytesInPipe() < USB_ControlPipeSize)) { - Pipe_Write_Byte(*(DataStream++)); + Pipe_Write_8(*(DataStream++)); DataLen--; }