Command number, Data length, Data – MagTek P-SERIES USB User Manual
Page 25: Result code

Section 4. USB Communications (HID)
17
The following table shows how the feature report is structured for command requests:
Offset
Field Name
0
Command Number
1
Data Length
2 – 23
Data
The following table shows how the feature report is structured for command responses.
Offset
Field Name
0
Result Code
1
Data Length
2 – 23
Data
COMMAND NUMBER
This one byte field contains the value of the requested command number. The following table
lists all the existing commands.
Value
Command Number
Description
0
GET_PROPERTY
Gets a property from the device
1
SET_PROPERTY
Sets a property in the device
2
RESET_DEVICE
Resets 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. Any 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 data.
RESULT CODE
This one byte field contains the value of the result code. There are two types of result codes:
generic result codes and command specific result codes. Generic result codes always have the
most significant bit set to zero. Generic result codes have the same meaning for all commands
and can be used by any command. Command specific result codes always have the most
significant bit set to one. Command specific result codes are defined by the command that uses
them. The same code can have different meanings for different commands. Command specific
result codes are defined in the documentation for the command that uses them. Generic result
codes are defined in the following table.
Value
Result Code
Description
0
SUCCESS
The command completed successfully.
1
FAILURE
The command failed.
2
BAD_PARAMETER
The command failed due to a bad
parameter or command syntax error.