Partial commit: Rename USBFOO LED driver to fix capitalisation of file name, which...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / HostStandardReq.c
index 16d0ffb..412ac89 100644 (file)
 
 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--;
                                }