Product manual

Spinpoint M9TU-USB 3.0 Product Manual REV 1.0
72
USB INTERFACE AND USB COMMANDS
Table 6-17: Allowed wMaxPacketSize Values for Different Numbers of Transaction per Microframe
For high-speed bulk and control OUT endpoints, the bInterval field is only used for compliance purposes; the
host controller is not required to change its behavior based on the value in this field.
6.3.6.4.8 String Descriptor
String descriptors are optional. As noted previously, if a device does not support string descriptors, all
references to string descriptors within device, configuration, and interface descriptors must be reset to zero.
String descriptors use UNICODE encodings as defined by The Unicode Standard, Worldwide Character
Encoding, Version 3.0, The Unicode Consortium, Addison-Wesley Publishing Company, Reading,
Massachusetts (URL:
http://www.unicode.com). The strings in a USB device may support multiple languages.
When requesting a string descriptor, the requester specifies the desired language using a sixteenbit language
ID (LANGID) defined by the USB-IF. The list of currently defined USB LANGIDs can be found at
http://www.usb.org/developers/docs.html. String index zero for all languages returns a string descriptor that
contains an array of two-byte LANGID codes supported by the device. Table 6-18 shows the LANGID code
array. A USB device may omit all string descriptors. USB devices that omit all string descriptors must not return
an array of LANGID codes.
The array of LANGID codes is not NULL-terminated. The size of the array (in bytes) is computed by
subtracting two from the value of the first byte of the descriptor.
Table 6-18: String Descriptor Zero, Specifying Language Supported by the Device
The UNICODE string descriptor (shown in Table 6-19) is not NULL-terminated. The string length is
computed by subtracting two from the value of the first byte of the descriptor.
Table 6-19: UNICODE String Descriptor