diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index 5b8f190cfd952afbbe36517f7554bf17dbee5985..28f710df42e3e56ba8ce42a8e7a72723ffc1cd39 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -39,6 +39,7 @@ * - 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 diff --git a/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h b/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h index 8a146ef4becb3f630819bc1cfb1879f4641d82fc..dad177e04338703cdc2c05a03b889221bfee1868 100644 --- a/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/AudioClassDevice.h @@ -77,7 +77,7 @@ */ typedef struct { - const struct + struct { uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this * structure controls. diff --git a/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h b/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h index 6e005efbf98d23e0e572e1a874ae807d052dede9..998b0a73801d1e4c0e4ff54167ae142515acda8c 100644 --- a/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/CDCClassDevice.h @@ -96,7 +96,7 @@ */ typedef struct { - const struct + struct { uint8_t ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device. */ diff --git a/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h b/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h index 95389f3713316ce58369556287a196819f221a37..a6361c6b0ff13163a1e9f27243172c71ae5c394f 100644 --- a/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/HIDClassDevice.h @@ -81,7 +81,7 @@ */ typedef struct { - const struct + struct { uint8_t InterfaceNumber; /**< Interface number of the HID interface within the device. */ diff --git a/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h b/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h index 791038e2966c8303a9c7e79f51e073162ddef34f..4fe49af1f92f6a1a496ab588f5d0c9fda21f0a56 100644 --- a/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.h @@ -77,7 +77,7 @@ */ typedef struct { - const struct + struct { uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this structure controls. */ @@ -94,7 +94,7 @@ 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. */ diff --git a/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h b/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h index e676a975284a7a74c8e9064ac71c4f7921eb4fe9..c2d536ce2a20c5862554a3b1543bb45dfaa84896 100644 --- a/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/MassStorageClassDevice.h @@ -77,7 +77,7 @@ */ typedef struct { - const struct + struct { uint8_t InterfaceNumber; /**< Interface number of the Mass Storage interface within the device. */ diff --git a/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h b/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h index b1fd35f975f43f44c48b1ecefdc5df1b9ca50387..ccd20e38e84d39a3e7a44166b50d450888d98c4a 100644 --- a/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h +++ b/LUFA/Drivers/USB/Class/Device/RNDISClassDevice.h @@ -77,7 +77,7 @@ */ typedef struct { - const struct + struct { uint8_t ControlInterfaceNumber; /**< Interface number of the RNDIS control interface within the device. */ diff --git a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c index b0746fdcac9485f3074ac86b49ad3dfab18207aa..cc70589375e9ae043ecb82b7cbe2a4d899d9e231 100644 --- a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c +++ b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c @@ -41,6 +41,8 @@ bool AOA_Host_ValidateAccessoryDevice(USB_ClassInfo_AOA_Host_t* const AOAInterfa const USB_Descriptor_Device_t* const DeviceDescriptor, bool* const NeedModeSwitch) { + (void)AOAInterfaceInfo; + if (DeviceDescriptor->Header.Type != DTYPE_Device) return false; diff --git a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h index 68947893b033d8b71134e94581e046a4d777ad0c..d98134281db55c135a8688c4bb29cfa0d3773348 100644 --- a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h @@ -83,7 +83,7 @@ */ typedef struct { - const struct + struct { uint8_t DataINPipeNumber; /**< Pipe number of the AOA interface's IN data pipe. */ bool DataINPipeDoubleBank; /**< Indicates if the AOA interface's IN data pipe should use double banking. */ diff --git a/LUFA/Drivers/USB/Class/Host/AudioClassHost.h b/LUFA/Drivers/USB/Class/Host/AudioClassHost.h index a7f87db2da28ee54018c2c274faf62a6bb878f1b..a6e425d5f5a9a051ce67377c182df0b522f324fa 100644 --- a/LUFA/Drivers/USB/Class/Host/AudioClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/AudioClassHost.h @@ -77,7 +77,7 @@ */ 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 diff --git a/LUFA/Drivers/USB/Class/Host/CDCClassHost.h b/LUFA/Drivers/USB/Class/Host/CDCClassHost.h index 7adcbb5ec1607913a6eabd06121d79c3bb893905..0beb5b1da24963fdbaa175368a7e2ec9c678c77b 100644 --- a/LUFA/Drivers/USB/Class/Host/CDCClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/CDCClassHost.h @@ -79,7 +79,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/HIDClassHost.h b/LUFA/Drivers/USB/Class/Host/HIDClassHost.h index e5b8cf506f1afb75a5d594d8693ca469373adae2..2e88679f25471a9e5321582e0305407a5e3d45f0 100644 --- a/LUFA/Drivers/USB/Class/Host/HIDClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/HIDClassHost.h @@ -81,7 +81,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h b/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h index 0fd80331958d550a385a1176fc0b56bd546c9936..e934ddacbbef5c86faf0413587543f82319118ef 100644 --- a/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/MIDIClassHost.h @@ -77,7 +77,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h b/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h index b123ea27ab4928764c521ed2f01dc82d635c2399..25d7e1e5e2f12f9385ba75b9bd19085fdf681415 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorageClassHost.h @@ -81,7 +81,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h index 955d5143c1ed25b7ca7bb7a10d0bdbbe24b04afe..4d9baf0fa2ec2625beb722700bc904980aec0ff0 100644 --- a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h @@ -77,7 +77,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h b/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h index 9e119ccdb265c228524cc76a32d67dd093cd8ffa..085bde22cf24cd3dcc8d1185591b0fc5dbb48d07 100644 --- a/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/RNDISClassHost.h @@ -78,7 +78,7 @@ */ 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. */ diff --git a/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h b/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h index f10e8fe657ed1fea035f9d39d06791c26ce3d510..4cda70d2e68e68c5206db22804c760022ecffa96 100644 --- a/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/StillImageClassHost.h @@ -81,7 +81,7 @@ */ 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. */