diff options
Diffstat (limited to 'LUFA/Drivers/USB/HighLevel/HostStandardReq.c')
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/HostStandardReq.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/HostStandardReq.c b/LUFA/Drivers/USB/HighLevel/HostStandardReq.c index 182cd6979..42688b9e1 100644 --- a/LUFA/Drivers/USB/HighLevel/HostStandardReq.c +++ b/LUFA/Drivers/USB/HighLevel/HostStandardReq.c @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2010. - + dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ @@ -9,13 +9,13 @@ /* Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in + without fee, provided that the above copyright notice appear in all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -45,7 +45,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) uint16_t DataLen = USB_ControlRequest.wLength; USB_Host_ResumeBus(); - + if ((ReturnStatus = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful) goto End_Of_Control_Send; @@ -58,7 +58,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) Pipe_Write_Byte(*(HeaderStream++)); Pipe_ClearSETUP(); - + if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_SetupSent)) != HOST_SENDCONTROL_Successful) goto End_Of_Control_Send; @@ -70,7 +70,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_DIRECTION) == REQDIR_DEVICETOHOST) { Pipe_SetPipeToken(PIPE_TOKEN_IN); - + if (DataStream != NULL) { while (DataLen) @@ -79,10 +79,10 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_InReceived)) != HOST_SENDCONTROL_Successful) goto End_Of_Control_Send; - + if (!(Pipe_BytesInPipe())) DataLen = 0; - + while (Pipe_BytesInPipe() && DataLen) { *(DataStream++) = Pipe_Read_Byte(); @@ -96,7 +96,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) Pipe_SetPipeToken(PIPE_TOKEN_OUT); Pipe_Unfreeze(); - + if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful) goto End_Of_Control_Send; @@ -110,7 +110,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) if (DataStream != NULL) { Pipe_SetPipeToken(PIPE_TOKEN_OUT); - Pipe_Unfreeze(); + Pipe_Unfreeze(); while (DataLen) { @@ -118,11 +118,11 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) goto End_Of_Control_Send; while (DataLen && (Pipe_BytesInPipe() < USB_ControlPipeSize)) - { + { Pipe_Write_Byte(*(DataStream++)); DataLen--; } - + Pipe_ClearOUT(); } @@ -131,7 +131,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) Pipe_Freeze(); } - + Pipe_SetPipeToken(PIPE_TOKEN_IN); Pipe_Unfreeze(); @@ -143,7 +143,7 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr) End_Of_Control_Send: Pipe_Freeze(); - + if (BusSuspended) USB_Host_SuspendBus(); @@ -155,11 +155,11 @@ End_Of_Control_Send: static uint8_t USB_Host_WaitForIOS(const uint8_t WaitType) { #if (USB_HOST_TIMEOUT_MS < 0xFF) - uint8_t TimeoutCounter = USB_HOST_TIMEOUT_MS; + uint8_t TimeoutCounter = USB_HOST_TIMEOUT_MS; #else uint16_t TimeoutCounter = USB_HOST_TIMEOUT_MS; #endif - + while (!(((WaitType == USB_HOST_WAITFOR_SetupSent) && Pipe_IsSETUPSent()) || ((WaitType == USB_HOST_WAITFOR_InReceived) && Pipe_IsINReceived()) || ((WaitType == USB_HOST_WAITFOR_OutReady) && Pipe_IsOUTReady()))) @@ -168,7 +168,7 @@ static uint8_t USB_Host_WaitForIOS(const uint8_t WaitType) if ((ErrorCode = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful) return ErrorCode; - + if (!(TimeoutCounter--)) return HOST_SENDCONTROL_SoftwareTimeOut; } @@ -177,3 +177,4 @@ static uint8_t USB_Host_WaitForIOS(const uint8_t WaitType) } #endif + |