* - USB_CONFIG_ATTR_BUSPOWERED constant renamed to USB_CONFIG_ATTR_RESERVED, as this was misnamed (thanks to NXP Semiconductors)
* - Reordered board name definition indexes so that a mispelled BOARD compile option will default to BOARD_USER rather than BOARD_USBKEY
* - Altered the HID class driver to only try to construct at maximum one packet per USB frame, to reduce CPU usage
+ * - All USB Class Driver configuration struct values are now non-const, to allow for run-time modifications if required before configuring an instance
* - Library Applications:
* - Altered the Mass Storage Host LowLevel demo so that SCSI data STALLs from the attached device can be recovered from automatically without
* having to reset the Mass Storage interface
*/
typedef struct
{
- const struct
+ struct
{
uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this
* structure controls.
*/
typedef struct
{
- const struct
+ struct
{
uint8_t ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t InterfaceNumber; /**< Interface number of the HID interface within the device. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this structure controls. */
struct
{
- // No state information for this class
+ uint8_t RESERVED; // No state information for this class
} State; /**< State data for the USB class interface within the device. All elements in this section
* are reset to their defaults when the interface is enumerated.
*/
*/
typedef struct
{
- const struct
+ struct
{
uint8_t InterfaceNumber; /**< Interface number of the Mass Storage interface within the device. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t ControlInterfaceNumber; /**< Interface number of the RNDIS control interface within the device. */
const USB_Descriptor_Device_t* const DeviceDescriptor,\r
bool* const NeedModeSwitch)\r
{\r
+ (void)AOAInterfaceInfo;\r
+\r
if (DeviceDescriptor->Header.Type != DTYPE_Device)\r
return false;\r
\r
*/\r
typedef struct\r
{\r
- const struct\r
+ struct\r
{\r
uint8_t DataINPipeNumber; /**< Pipe number of the AOA interface's IN data pipe. */\r
bool DataINPipeDoubleBank; /**< Indicates if the AOA interface's IN data pipe should use double banking. */\r
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the Audio interface's IN data pipe. If this interface should not
* bind to an IN endpoint, this may be set to 0 to disable audio input streaming for
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the CDC interface's IN data pipe. */
bool DataINPipeDoubleBank; /**< Indicates if the CDC interface's IN data pipe should use double banking. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the HID interface's IN data pipe. */
bool DataINPipeDoubleBank; /**< Indicates if the HID interface's IN data pipe should use double banking. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the MIDI interface's streaming IN data pipe. */
bool DataINPipeDoubleBank; /**< Indicates if the MIDI interface's IN data pipe should use double banking. */
*/
typedef struct
{
- const struct
+ struct
{
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. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the Printer interface's IN data pipe. */
bool DataINPipeDoubleBank; /**< Indicates if the Printer interface's IN data pipe should use double banking. */
*/
typedef struct
{
- const struct
+ struct
{
uint8_t DataINPipeNumber; /**< Pipe number of the RNDIS interface's IN data pipe. */
bool DataINPipeDoubleBank; /**< Indicates if the RNDIS interface's IN data pipe should use double banking. */
*/
typedef struct
{
- const struct
+ 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. */