Section 4. USB Communications
13
COMMANDS
Command requests and responses are sent to and received from the device using feature reports.
Command requests are sent to the device using the HID class specific request Set_Rep ort. The
response to a command is retrieved from the device using the HID class specifi c request
Get_Report. These requests are sent over the default control pipe. When a co mmand request is
sent, the device will Nak the Status stage of the Set_Report request until t he command is
completed. This insures that as soon as the Set_Report request is completed , the Get_Report
request can be sent to get the command response. The usage ID for the command message was
shown previously in the Usage Table.
The following table shows how the feature report is structured for comma nd requests:
Offset Field Name
0Command Number
1Data Length
2 – 23 Data
The following table shows how the feature report is structured for command responses.
Offset Field Name
0Result Code
1Data Length
2 – 23 Data
COMMAND NUMBER
This one-byte field contains the value of the requested command number. The foll owing table
lists all the existing commands.
Value Command Number Description
0GET_PROPERTY Gets a property from the device
1SET_PROPERTY Sets a property in the device
DATA LENGTH
This one-byte field contains the length of the valid data contained in the Data field.
DATA
This multi-byte field contains command data if any. Note that the length of this field is fixed at
22 bytes. Valid data should be placed in the field starting at offset 2. An y remaining data after
the valid data should be set to zero. This entire field must always be set even if there is no valid
data. The HID specification requires that Reports be fixed in length. Command data may vary
in length. Therefore, the Report should be filled with zeros after the valid d ata.