tinyusb  0.4
Click here to lend your support to tinyusb donation and make a donation at pledgie.com
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
tusb_descriptor_device_t Struct Reference

USB Standard Device Descriptor (section 9.6.1, table 9-8) More...

#include <std_descriptors.h>

Data Fields

uint8_t bLength
 Size of this descriptor in bytes.
 
uint8_t bDescriptorType
 DEVICE Descriptor Type.
 
uint16_t bcdUSB
 BUSB Specification Release Number in Binary-Coded Decimal (i.e., 2.10 is 210H). This field identifies the release of the USB Specification with which the device and its descriptors are compliant.
 
uint8_t bDeviceClass
 Class code (assigned by the USB-IF). More...
 
uint8_t bDeviceSubClass
 Subclass code (assigned by the USB-IF). These codes are qualified by the value of the bDeviceClass field. More...
 
uint8_t bDeviceProtocol
 Protocol code (assigned by the USB-IF). These codes are qualified by the value of the bDeviceClass and the bDeviceSubClass fields. If a device supports class-specific protocols on a device basis as opposed to an interface basis, this code identifies the protocols that the device uses as defined by the specification of the device class. More...
 
uint8_t bMaxPacketSize0
 Maximum packet size for endpoint zero (only 8, 16, 32, or 64 are valid). For HS devices is fixed to 64.
 
uint16_t idVendor
 Vendor ID (assigned by the USB-IF).
 
uint16_t idProduct
 Product ID (assigned by the manufacturer).
 
uint16_t bcdDevice
 Device release number in binary-coded decimal.
 
uint8_t iManufacturer
 Index of string descriptor describing manufacturer.
 
uint8_t iProduct
 Index of string descriptor describing product.
 
uint8_t iSerialNumber
 Index of string descriptor describing the device's serial number.
 
uint8_t bNumConfigurations
 Number of possible configurations.
 

Detailed Description

USB Standard Device Descriptor (section 9.6.1, table 9-8)

Definition at line 56 of file std_descriptors.h.

Field Documentation

uint8_t bDeviceClass

Class code (assigned by the USB-IF).

  • If this field is reset to zero, each interface within a configuration specifies its own class information and the various interfaces operate independently.
  • If this field is set to a value between 1 and FEH, the device supports different class specifications on different interfaces and the interfaces may not operate independently. This value identifies the class definition used for the aggregate interfaces.
  • If this field is set to FFH, the device class is vendor-specific.

Definition at line 61 of file std_descriptors.h.

uint8_t bDeviceProtocol

Protocol code (assigned by the USB-IF). These codes are qualified by the value of the bDeviceClass and the bDeviceSubClass fields. If a device supports class-specific protocols on a device basis as opposed to an interface basis, this code identifies the protocols that the device uses as defined by the specification of the device class.

  • If this field is reset to zero, the device does not use class-specific protocols on a device basis. However, it may use classspecific protocols on an interface basis.
  • If this field is set to FFH, the device uses a vendor-specific protocol on a device basis.

Definition at line 63 of file std_descriptors.h.

uint8_t bDeviceSubClass

Subclass code (assigned by the USB-IF). These codes are qualified by the value of the bDeviceClass field.

  • If the bDeviceClass field is reset to zero, this field must also be reset to zero.
  • If the bDeviceClass field is not set to FFH, all values are reserved for assignment by the USB-IF.

Definition at line 62 of file std_descriptors.h.


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