Commands, Command number, Data length – MagTek USB HID INTELLIHEAD User Manual
Page 22: Data

USB HID IntelliHead Swipe Reader
14
COMMANDS
Most host applications do not need to send commands to the device. Most host applications only
need to obtain card data from the device as described previously in this section. This section of
the manual can be ignored by anyone who does not need to send commands to the device.
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 Report. The
response to a command is retrieved from the device using the HID class specific request Get
Report. These requests are sent over the default control pipe. When a command request is sent,
the device will Nak the Status stage of the Set Report request until the 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 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
(Hes)
Command Number
Description
00
GET PROPERTY
Gets a property from the device
01
SET PROPERTY
Sets a property in the device
02
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