LUFA Library
USB_StdDescriptor_Device_t Struct Reference

Standard USB Device Descriptor (USB-IF naming conventions). More...

#include <StdDescriptors.h>

Data Fields

uint16_t bcdDevice
 
uint16_t bcdUSB
 
uint8_t bDescriptorType
 
uint8_t bDeviceClass
 
uint8_t bDeviceProtocol
 
uint8_t bDeviceSubClass
 
uint8_t bLength
 
uint8_t bMaxPacketSize0
 
uint8_t bNumConfigurations
 
uint16_t idProduct
 
uint16_t idVendor
 
uint8_t iManufacturer
 
uint8_t iProduct
 
uint8_t iSerialNumber
 

Detailed Description

Type define for a standard Device Descriptor. This structure uses the relevant standard's given element names to ensure compatibility with the standard.

See also
USB_Descriptor_Device_t for the version of this type with non-standard LUFA specific element names.
Note
Regardless of CPU architecture, these values should be stored as little endian.

Field Documentation

◆ bcdDevice

uint16_t USB_StdDescriptor_Device_t::bcdDevice

Product release (version) number.

See also
VERSION_BCD() utility macro.

◆ bcdUSB

uint16_t USB_StdDescriptor_Device_t::bcdUSB

BCD of the supported USB specification.

See also
VERSION_BCD() utility macro.

◆ bDescriptorType

uint8_t USB_StdDescriptor_Device_t::bDescriptorType

Type of the descriptor, either a value in USB_DescriptorTypes_t or a value given by the specific class.

◆ bDeviceClass

uint8_t USB_StdDescriptor_Device_t::bDeviceClass

USB device class.

◆ bDeviceProtocol

uint8_t USB_StdDescriptor_Device_t::bDeviceProtocol

USB device protocol.

◆ bDeviceSubClass

uint8_t USB_StdDescriptor_Device_t::bDeviceSubClass

USB device subclass.

◆ bLength

uint8_t USB_StdDescriptor_Device_t::bLength

Size of the descriptor, in bytes.

◆ bMaxPacketSize0

uint8_t USB_StdDescriptor_Device_t::bMaxPacketSize0

Size of the control (address 0) endpoint's bank in bytes.

◆ bNumConfigurations

uint8_t USB_StdDescriptor_Device_t::bNumConfigurations

Total number of configurations supported by the device.

◆ idProduct

uint16_t USB_StdDescriptor_Device_t::idProduct

Unique product ID for the USB product.

◆ idVendor

uint16_t USB_StdDescriptor_Device_t::idVendor

Vendor ID for the USB product.

◆ iManufacturer

uint8_t USB_StdDescriptor_Device_t::iManufacturer

String index for the manufacturer's name. The host will request this string via a separate control request for the string descriptor.

Note
If no string supplied, use NO_DESCRIPTOR.

◆ iProduct

uint8_t USB_StdDescriptor_Device_t::iProduct

String index for the product name/details.

See also
ManufacturerStrIndex structure entry.

◆ iSerialNumber

uint8_t USB_StdDescriptor_Device_t::iSerialNumber

String index for the product's globally unique hexadecimal serial number, in uppercase Unicode ASCII.

Note
On some microcontroller models, there is an embedded 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. On unsupported devices, this will evaluate to NO_DESCRIPTOR and will cause the host to generate a pseudo-unique value for the device upon insertion.
See also
ManufacturerStrIndex structure entry.

The documentation for this struct was generated from the following file: