Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling the existing \ref Pipe_SetFiniteINRequests() function.

This commit is contained in:
Dean Camera 2009-06-23 08:03:09 +00:00
parent 7f81803aaa
commit a3a04aa671
16 changed files with 8 additions and 33 deletions

View file

@ -162,8 +162,6 @@ void USB_Host_ProcessNextHostState(void)
break;
}
Pipe_SetInfiniteINRequests();
USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),

View file

@ -48,6 +48,9 @@ bool Pipe_ConfigurePipe(const uint8_t Number, const uint8_t Type, const uint8_t
UPCFG0X = ((Type << EPTYPE0) | Token | ((EndpointNumber & PIPE_EPNUM_MASK) << PEPNUM0));
UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));
if (Token == PIPE_TOKEN_IN)
Pipe_SetInfiniteINRequests();
return Pipe_IsConfigured();
}

View file

@ -732,7 +732,9 @@
*
* A newly configured pipe is frozen by default, and must be unfrozen before use via the \ref Pipe_Unfreeze()
* before being used. Pipes should be kept frozen unless waiting for data from a device while in IN mode, or
* sending data to the device in OUT mode.
* sending data to the device in OUT mode. IN type pipes are also automatically configured to accept infinite
* numbers of IN requests without automatic freezing - this can be overridden by a call to
* \ref Pipe_SetFiniteINRequests().
*
* \note The default control pipe does not have to be manually configured, as it is automatically
* configured by the library internally.