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:
parent
f29fc1abc4
commit
64e5c4084f
25 changed files with 95 additions and 40 deletions
|
@ -67,8 +67,11 @@
|
|||
{
|
||||
const struct
|
||||
{
|
||||
uint8_t DataINPipeNumber; /**< Pipe number of the MS interface's IN data pipe */
|
||||
uint8_t DataOUTPipeNumber; /**< Pipe number of the MS interface's OUT data pipe */
|
||||
uint8_t DataINPipeNumber; /**< Pipe number of the Mass Storage interface's IN data pipe */
|
||||
bool DataINPipeDoubleBank; /** Indicates if the Mass Storage interface's IN data pipe should use double banking */
|
||||
|
||||
uint8_t DataOUTPipeNumber; /**< Pipe number of the Mass Storage interface's OUT data pipe */
|
||||
bool DataOUTPipeDoubleBank; /** Indicates if the Mass Storage interface's OUT 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.
|
||||
*/
|
||||
|
@ -80,8 +83,8 @@
|
|||
*/
|
||||
uint8_t InterfaceNumber; /**< Interface index of the Mass Storage interface within the attached device */
|
||||
|
||||
uint16_t DataINPipeSize; /**< Size in bytes of the MS interface's IN data pipe */
|
||||
uint16_t DataOUTPipeSize; /**< Size in bytes of the MS interface's OUT data pipe */
|
||||
uint16_t DataINPipeSize; /**< Size in bytes of the Mass Storage interface's IN data pipe */
|
||||
uint16_t DataOUTPipeSize; /**< Size in bytes of the Mass Storage interface's OUT data pipe */
|
||||
|
||||
uint32_t TransactionTag; /**< Current transaction tag for data synchronising of packets */
|
||||
} State; /**< State data for the USB class interface within the device. All elements in this section
|
||||
|
@ -194,7 +197,7 @@
|
|||
* \return A value from the \ref MSHost_EnumerationFailure_ErrorCodes_t enum
|
||||
*/
|
||||
uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, uint16_t ConfigDescriptorSize,
|
||||
uint8_t* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);
|
||||
void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1, 3);
|
||||
|
||||
/** Sends a MASS STORAGE RESET control request to the attached device, resetting the Mass Storage Interface
|
||||
* and readying it for the next Mass Storage command.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue