Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
This commit is contained in:
parent
c05c7c7df4
commit
8c6c27d88b
26 changed files with 1746 additions and 76 deletions
|
@ -48,7 +48,7 @@ uint8_t USB_Host_SendControlRequest(void* BufferPtr)
|
|||
if ((ReturnStatus = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful)
|
||||
goto End_Of_Control_Send;
|
||||
|
||||
Pipe_SetToken(PIPE_TOKEN_SETUP);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_SETUP);
|
||||
Pipe_ClearErrorFlags();
|
||||
|
||||
Pipe_Unfreeze();
|
||||
|
@ -68,7 +68,7 @@ uint8_t USB_Host_SendControlRequest(void* BufferPtr)
|
|||
|
||||
if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_DIRECTION) == REQDIR_DEVICETOHOST)
|
||||
{
|
||||
Pipe_SetToken(PIPE_TOKEN_IN);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_IN);
|
||||
|
||||
if (DataStream != NULL)
|
||||
{
|
||||
|
@ -93,7 +93,7 @@ uint8_t USB_Host_SendControlRequest(void* BufferPtr)
|
|||
}
|
||||
}
|
||||
|
||||
Pipe_SetToken(PIPE_TOKEN_OUT);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_OUT);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful)
|
||||
|
@ -108,7 +108,7 @@ uint8_t USB_Host_SendControlRequest(void* BufferPtr)
|
|||
{
|
||||
if (DataStream != NULL)
|
||||
{
|
||||
Pipe_SetToken(PIPE_TOKEN_OUT);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_OUT);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
while (DataLen)
|
||||
|
@ -131,7 +131,7 @@ uint8_t USB_Host_SendControlRequest(void* BufferPtr)
|
|||
Pipe_Freeze();
|
||||
}
|
||||
|
||||
Pipe_SetToken(PIPE_TOKEN_IN);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_IN);
|
||||
Pipe_Unfreeze();
|
||||
|
||||
if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_InReceived)) != HOST_SENDCONTROL_Successful)
|
||||
|
|
|
@ -130,7 +130,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
|||
{
|
||||
uint8_t ErrorCode;
|
||||
|
||||
Pipe_SetToken(PIPE_TOKEN_IN);
|
||||
Pipe_SetPipeToken(PIPE_TOKEN_IN);
|
||||
|
||||
if ((ErrorCode = Pipe_WaitUntilReady()))
|
||||
return ErrorCode;
|
||||
|
|
|
@ -432,7 +432,7 @@
|
|||
|
||||
#define Pipe_GetPipeToken() (UPCFG0X & PIPE_TOKEN_MASK)
|
||||
|
||||
#define Pipe_SetToken(token) MACROS{ UPCFG0X = ((UPCFG0X & ~PIPE_TOKEN_MASK) | (token)); }MACROE
|
||||
#define Pipe_SetPipeToken(token) MACROS{ UPCFG0X = ((UPCFG0X & ~PIPE_TOKEN_MASK) | (token)); }MACROE
|
||||
|
||||
#define Pipe_SetInfiniteINRequests() MACROS{ UPCONX |= (1 << INMODE); }MACROE
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, uint16_t Length __CALLB
|
|||
uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
||||
uint8_t ErrorCode;
|
||||
|
||||
Pipe_SetToken(TEMPLATE_TOKEN);
|
||||
Pipe_SetPipeToken(TEMPLATE_TOKEN);
|
||||
|
||||
if ((ErrorCode = Pipe_WaitUntilReady()))
|
||||
return ErrorCode;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue