|
|
@ -275,7 +275,10 @@ |
|
|
|
{ |
|
|
|
{ |
|
|
|
USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ |
|
|
|
USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ |
|
|
|
|
|
|
|
|
|
|
|
uint16_t USBSpecification; /**< BCD of the supported USB specification. */ |
|
|
|
uint16_t USBSpecification; /**< BCD of the supported USB specification.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t Class; /**< USB device class. */ |
|
|
|
uint8_t Class; /**< USB device class. */ |
|
|
|
uint8_t SubClass; /**< USB device subclass. */ |
|
|
|
uint8_t SubClass; /**< USB device subclass. */ |
|
|
|
uint8_t Protocol; /**< USB device protocol. */ |
|
|
|
uint8_t Protocol; /**< USB device protocol. */ |
|
|
@ -284,8 +287,10 @@ |
|
|
|
|
|
|
|
|
|
|
|
uint16_t VendorID; /**< Vendor ID for the USB product. */ |
|
|
|
uint16_t VendorID; /**< Vendor ID for the USB product. */ |
|
|
|
uint16_t ProductID; /**< Unique product ID for the USB product. */ |
|
|
|
uint16_t ProductID; /**< Unique product ID for the USB product. */ |
|
|
|
uint16_t ReleaseNumber; /**< Product release (version) number. */ |
|
|
|
uint16_t ReleaseNumber; /**< Product release (version) number.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t ManufacturerStrIndex; /**< String index for the manufacturer's name. The
|
|
|
|
uint8_t ManufacturerStrIndex; /**< String index for the manufacturer's name. The
|
|
|
|
* host will request this string via a separate |
|
|
|
* host will request this string via a separate |
|
|
|
* control request for the string descriptor. |
|
|
|
* control request for the string descriptor. |
|
|
@ -301,12 +306,12 @@ |
|
|
|
* |
|
|
|
* |
|
|
|
* \note On some microcontroller models, there is an embedded serial number |
|
|
|
* \note On some microcontroller models, there is an embedded serial number |
|
|
|
* in the chip which can be used for the device serial number. |
|
|
|
* in the chip which can be used for the device serial number. |
|
|
|
* To use this serial number, set this to USE_INTERNAL_SERIAL. |
|
|
|
* To use this serial number, set this to \c USE_INTERNAL_SERIAL. |
|
|
|
* On unsupported devices, this will evaluate to 0 and will cause |
|
|
|
* On unsupported devices, this will evaluate to \ref NO_DESCRIPTOR |
|
|
|
* the host to generate a pseudo-unique value for the device upon |
|
|
|
* and will cause the host to generate a pseudo-unique value for the |
|
|
|
* insertion. |
|
|
|
* device upon insertion. |
|
|
|
* |
|
|
|
* |
|
|
|
* \see ManufacturerStrIndex structure entry. |
|
|
|
* \see \c ManufacturerStrIndex structure entry. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
uint8_t NumberOfConfigurations; /**< Total number of configurations supported by
|
|
|
|
uint8_t NumberOfConfigurations; /**< Total number of configurations supported by
|
|
|
|
* the device. |
|
|
|
* the device. |
|
|
@ -328,14 +333,20 @@ |
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
|
|
|
* given by the specific class. |
|
|
|
* given by the specific class. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
uint16_t bcdUSB; /**< BCD of the supported USB specification. */ |
|
|
|
uint16_t bcdUSB; /**< BCD of the supported USB specification.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t bDeviceClass; /**< USB device class. */ |
|
|
|
uint8_t bDeviceClass; /**< USB device class. */ |
|
|
|
uint8_t bDeviceSubClass; /**< USB device subclass. */ |
|
|
|
uint8_t bDeviceSubClass; /**< USB device subclass. */ |
|
|
|
uint8_t bDeviceProtocol; /**< USB device protocol. */ |
|
|
|
uint8_t bDeviceProtocol; /**< USB device protocol. */ |
|
|
|
uint8_t bMaxPacketSize0; /**< Size of the control (address 0) endpoint's bank in bytes. */ |
|
|
|
uint8_t bMaxPacketSize0; /**< Size of the control (address 0) endpoint's bank in bytes. */ |
|
|
|
uint16_t idVendor; /**< Vendor ID for the USB product. */ |
|
|
|
uint16_t idVendor; /**< Vendor ID for the USB product. */ |
|
|
|
uint16_t idProduct; /**< Unique product ID for the USB product. */ |
|
|
|
uint16_t idProduct; /**< Unique product ID for the USB product. */ |
|
|
|
uint16_t bcdDevice; /**< Product release (version) number. */ |
|
|
|
uint16_t bcdDevice; /**< Product release (version) number.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t iManufacturer; /**< String index for the manufacturer's name. The
|
|
|
|
uint8_t iManufacturer; /**< String index for the manufacturer's name. The
|
|
|
|
* host will request this string via a separate |
|
|
|
* host will request this string via a separate |
|
|
|
* control request for the string descriptor. |
|
|
|
* control request for the string descriptor. |
|
|
@ -351,12 +362,12 @@ |
|
|
|
* |
|
|
|
* |
|
|
|
* \note On some microcontroller models, there is an embedded serial number |
|
|
|
* \note On some microcontroller models, there is an embedded serial number |
|
|
|
* in the chip which can be used for the device serial number. |
|
|
|
* in the chip which can be used for the device serial number. |
|
|
|
* To use this serial number, set this to USE_INTERNAL_SERIAL. |
|
|
|
* To use this serial number, set this to \c USE_INTERNAL_SERIAL. |
|
|
|
* On unsupported devices, this will evaluate to 0 and will cause |
|
|
|
* On unsupported devices, this will evaluate to \ref NO_DESCRIPTOR |
|
|
|
* the host to generate a pseudo-unique value for the device upon |
|
|
|
* and will cause the host to generate a pseudo-unique value for the |
|
|
|
* insertion. |
|
|
|
* device upon insertion. |
|
|
|
* |
|
|
|
* |
|
|
|
* \see ManufacturerStrIndex structure entry. |
|
|
|
* \see \c ManufacturerStrIndex structure entry. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
uint8_t bNumConfigurations; /**< Total number of configurations supported by
|
|
|
|
uint8_t bNumConfigurations; /**< Total number of configurations supported by
|
|
|
|
* the device. |
|
|
|
* the device. |
|
|
@ -374,7 +385,10 @@ |
|
|
|
{ |
|
|
|
{ |
|
|
|
USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ |
|
|
|
USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ |
|
|
|
|
|
|
|
|
|
|
|
uint16_t USBSpecification; /**< BCD of the supported USB specification. */ |
|
|
|
uint16_t USBSpecification; /**< BCD of the supported USB specification.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t Class; /**< USB device class. */ |
|
|
|
uint8_t Class; /**< USB device class. */ |
|
|
|
uint8_t SubClass; /**< USB device subclass. */ |
|
|
|
uint8_t SubClass; /**< USB device subclass. */ |
|
|
|
uint8_t Protocol; /**< USB device protocol. */ |
|
|
|
uint8_t Protocol; /**< USB device protocol. */ |
|
|
@ -399,7 +413,10 @@ |
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
|
|
|
* given by the specific class. |
|
|
|
* given by the specific class. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
uint16_t bcdUSB; /**< BCD of the supported USB specification. */ |
|
|
|
uint16_t bcdUSB; /**< BCD of the supported USB specification.
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* \see \ref VERSION_BCD() utility macro. |
|
|
|
|
|
|
|
*/ |
|
|
|
uint8_t bDeviceClass; /**< USB device class. */ |
|
|
|
uint8_t bDeviceClass; /**< USB device class. */ |
|
|
|
uint8_t bDeviceSubClass; /**< USB device subclass. */ |
|
|
|
uint8_t bDeviceSubClass; /**< USB device subclass. */ |
|
|
|
uint8_t bDeviceProtocol; /**< USB device protocol. */ |
|
|
|
uint8_t bDeviceProtocol; /**< USB device protocol. */ |
|
|
|