Product manual

Spinpoint M9TU-USB 3.0 Product Manual REV 1.0
58
USB INTERFACE AND USB COMMANDS
6.3.6.3.3 Get Configuration (Request Code 8)
This request returns the current device configuration value.
If the returned value is zero, the device is not configured.
If wValue, wIndex, or wLength are not as specified above, then the device behavior is not specified.
Default state: Device behavior when this request is received while the device is in the Default state is
not specified.
Address state: The value zero must be returned.
Configured state: The non-zero bConfigurationValue of the current configuration must be returned.
6.3.6.3.4 Get Descriptor (Request Code 6)
This request returns the specified descriptor if the descriptor exists.
The wValue field specifies the descriptor type in the high byte (refer to Table 9-8) and the descriptor index in
the low byte. The descriptor index is used to select a specific descriptor (only for configuration and string
descriptors) when several descriptors of the same type are implemented in a device. For example, a device can
implement several configuration descriptors. For other standard descriptors that can be retrieved via a
GetDescriptor() request, a descriptor index of zero must be used. The range of values used for a descriptor index
is from 0 to one less than the number of descriptors of that type implemented by
the device. The wIndex field
specifies the Language ID for string descriptors or is reset to zero for other descriptors. The wLength field
specifies the number of bytes to return. If the descriptor is longer than the wLength field, only the initial bytes of
the descriptor are returned. If the descriptor is shorter than the wLength field, the device indicates the end of the
control transfer by sending a short packet when further data is requested. A short packet is defined as a packet
shorter than the maximum payload size or a zero length data packet.
The standard request to a device supports three types of descriptors: device (also device_qualifier),
configuration (also other_speed_configuration), and string. A high-speed capable device supports the
device_qualifier descriptor to return information about the device for the speed at which it is not operating
(including wMaxPacketSize for the default endpoint and the number of configurations for the other speed). The
other_speed_configuration returns information in the same structure as a configuration descriptor, but for a
configuration if the device were operating at the other speed. A request for a configuration descriptor returns the
configurati
on descriptor, all interface descriptors, and endpoint descriptors for all of the interfaces in a single
request. The first interface descriptor follows the configuration descriptor. The endpoint descriptors for the first
interface follow the first interface descriptor. If there are additional interfaces, their interface descriptor and
endpoint descriptors follow the first interface’s endpoint descriptors. Class-specific and/or vendor-specific
descriptors follow the standard descriptors they extend or modify.
All devices must provide a device descriptor and at least one configuration descriptor. If a device does not
support a requested descriptor, it responds with a Request Error.
Default state: This is a valid request when the device is in the Default state. Address state: This is a valid
request when the device is in the Address state. Configured state: This is a valid request when the device is in
the Configured state.
6.3.6.3.5 Get Interface (Request Code 10)
This request returns the selected alternate setting for the specified interface.