|
|
|
@ -421,9 +421,7 @@ |
|
|
|
|
uint8_t SubClass; /**< Interface subclass ID. */ |
|
|
|
|
uint8_t Protocol; /**< Interface protocol ID. */ |
|
|
|
|
|
|
|
|
|
uint8_t InterfaceStrIndex; /**< Index of the string descriptor describing the
|
|
|
|
|
* interface. |
|
|
|
|
*/ |
|
|
|
|
uint8_t InterfaceStrIndex; /**< Index of the string descriptor describing the interface. */ |
|
|
|
|
} USB_Descriptor_Interface_t; |
|
|
|
|
|
|
|
|
|
/** \brief Standard USB Interface Descriptor (USB-IF naming conventions).
|
|
|
|
@ -524,20 +522,17 @@ |
|
|
|
|
{ |
|
|
|
|
USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */ |
|
|
|
|
|
|
|
|
|
uint8_t EndpointAddress; /**< Logical address of the endpoint within the device
|
|
|
|
|
* for the current configuration, including direction |
|
|
|
|
* mask. |
|
|
|
|
uint8_t EndpointAddress; /**< Logical address of the endpoint within the device for the current
|
|
|
|
|
* configuration, including direction mask. |
|
|
|
|
*/ |
|
|
|
|
uint8_t Attributes; /**< Endpoint attributes, comprised of a mask of the
|
|
|
|
|
* endpoint type (EP_TYPE_*) and attributes (ENDPOINT_ATTR_*) |
|
|
|
|
* masks. |
|
|
|
|
uint8_t Attributes; /**< Endpoint attributes, comprised of a mask of the endpoint type (EP_TYPE_*)
|
|
|
|
|
* and attributes (ENDPOINT_ATTR_*) masks. |
|
|
|
|
*/ |
|
|
|
|
uint16_t EndpointSize; /**< Size of the endpoint bank, in bytes. This indicates the
|
|
|
|
|
* maximum packet size that the endpoint can receive at a time. |
|
|
|
|
uint16_t EndpointSize; /**< Size of the endpoint bank, in bytes. This indicates the maximum packet
|
|
|
|
|
* size that the endpoint can receive at a time. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
uint8_t PollingIntervalMS; /**< Polling interval in milliseconds for the endpoint
|
|
|
|
|
* if it is an INTERRUPT or ISOCHRONOUS type. |
|
|
|
|
uint8_t PollingIntervalMS; /**< Polling interval in milliseconds for the endpoint if it is an INTERRUPT
|
|
|
|
|
* or ISOCHRONOUS type. |
|
|
|
|
*/ |
|
|
|
|
} USB_Descriptor_Endpoint_t; |
|
|
|
|
|
|
|
|
@ -552,22 +547,20 @@ |
|
|
|
|
typedef struct |
|
|
|
|
{ |
|
|
|
|
uint8_t bLength; /**< Size of the descriptor, in bytes. */ |
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
|
|
|
|
|
* given by the specific class. |
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a
|
|
|
|
|
* value given by the specific class. |
|
|
|
|
*/ |
|
|
|
|
uint8_t bEndpointAddress; /**< Logical address of the endpoint within the device
|
|
|
|
|
* for the current configuration, including direction |
|
|
|
|
* mask. |
|
|
|
|
uint8_t bEndpointAddress; /**< Logical address of the endpoint within the device for the current
|
|
|
|
|
* configuration, including direction mask. |
|
|
|
|
*/ |
|
|
|
|
uint8_t bmAttributes; /**< Endpoint attributes, comprised of a mask of the
|
|
|
|
|
* endpoint type (EP_TYPE_*) and attributes (ENDPOINT_ATTR_*) |
|
|
|
|
* masks. |
|
|
|
|
uint8_t bmAttributes; /**< Endpoint attributes, comprised of a mask of the endpoint type (EP_TYPE_*)
|
|
|
|
|
* and attributes (ENDPOINT_ATTR_*) masks. |
|
|
|
|
*/ |
|
|
|
|
uint16_t wMaxPacketSize; /**< Size of the endpoint bank, in bytes. This indicates the
|
|
|
|
|
* maximum packet size that the endpoint can receive at a time. |
|
|
|
|
uint16_t wMaxPacketSize; /**< Size of the endpoint bank, in bytes. This indicates the maximum packet size
|
|
|
|
|
* that the endpoint can receive at a time. |
|
|
|
|
*/ |
|
|
|
|
uint8_t bInterval; /**< Polling interval in milliseconds for the endpoint
|
|
|
|
|
* if it is an INTERRUPT or ISOCHRONOUS type. |
|
|
|
|
uint8_t bInterval; /**< Polling interval in milliseconds for the endpoint if it is an INTERRUPT or
|
|
|
|
|
* ISOCHRONOUS type. |
|
|
|
|
*/ |
|
|
|
|
} USB_StdDescriptor_Endpoint_t; |
|
|
|
|
|
|
|
|
@ -618,20 +611,17 @@ |
|
|
|
|
typedef struct |
|
|
|
|
{ |
|
|
|
|
uint8_t bLength; /**< Size of the descriptor, in bytes. */ |
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in
|
|
|
|
|
* \ref USB_DescriptorTypes_t or a value |
|
|
|
|
* given by the specific class. |
|
|
|
|
uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t
|
|
|
|
|
* or a value given by the specific class. |
|
|
|
|
*/ |
|
|
|
|
int16_t bString[]; /**< String data, as unicode characters (alternatively,
|
|
|
|
|
* string language IDs). If normal ASCII characters are |
|
|
|
|
* to be used, they must be added as an array of characters |
|
|
|
|
* rather than a normal C string so that they are widened to |
|
|
|
|
int16_t bString[]; /**< String data, as unicode characters (alternatively, string language IDs).
|
|
|
|
|
* If normal ASCII characters are to be used, they must be added as an array |
|
|
|
|
* of characters rather than a normal C string so that they are widened to |
|
|
|
|
* Unicode size. |
|
|
|
|
* |
|
|
|
|
* Under GCC, strings prefixed with the "L" character (before |
|
|
|
|
* the opening string quotation mark) are considered to be |
|
|
|
|
* Unicode strings, and may be used instead of an explicit |
|
|
|
|
* array of ASCII characters. |
|
|
|
|
* Under GCC, strings prefixed with the "L" character (before the opening string |
|
|
|
|
* quotation mark) are considered to be Unicode strings, and may be used instead |
|
|
|
|
* of an explicit array of ASCII characters. |
|
|
|
|
*/ |
|
|
|
|
} USB_StdDescriptor_String_t; |
|
|
|
|
|
|
|
|
|