Add optional pipe double banking support to the Host mode Class drivers.

Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
This commit is contained in:
Dean Camera 2009-11-07 03:51:24 +00:00
parent f29fc1abc4
commit 64e5c4084f
25 changed files with 95 additions and 40 deletions

View file

@ -64,8 +64,13 @@
const struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the Still Image interface's IN data pipe */
bool DataINPipeDoubleBank; /** Indicates if the Still Image interface's IN data pipe should use double banking */
uint8_t DataOUTPipeNumber; /**< Pipe number of the Still Image interface's OUT data pipe */
bool DataOUTPipeDoubleBank; /** Indicates if the Still Image interface's OUT data pipe should use double banking */
uint8_t EventsPipeNumber; /**< Pipe number of the Still Image interface's IN events endpoint, if used */
bool EventsPipeDoubleBank; /** Indicates if the Still Image interface's events data pipe should use double banking */
} Config; /**< Config data for the USB class interface within the device. All elements in this section
* <b>must</b> be set or the interface will fail to enumerate and operate correctly.
*/
@ -125,7 +130,7 @@
* \return A value from the \ref SIHost_EnumerationFailure_ErrorCodes_t enum
*/
uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, uint16_t ConfigDescriptorSize,
uint8_t* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);
void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);
/** Opens a new PIMA session with the attached device. This should be used before any session-orientated PIMA commands
* are issued to the device. Only one session can be open at the one time.