beautypg.com

Command number, Data length, Data – MagTek MICRSafe99875466 User Manual

Page 33: Command processing

background image

Section 5. USB Communications

25

COMMAND PROCESSING

Firmware in the MSR normally handles card swipes, gets MagnePrint data, and encrypts the data;
it then passes the output to firmware in the MICRSafe for transmission to the host. Firmware in
the MICRSafe controls all functions relating to check reading and handles all communications
between the host and the device. Thus, all commands are received by the MICRSafe firmware,
which, unless instructed otherwise, will attempt to process the command. For this reason,
commands that affect card reading only (which are unknown to the MICRSafe firmware) must be
distinguished from commands which the MICRSafe firmware is equipped to handle. The
convention adopted to enable this necessary distinction is to prefix the data portion of a card
reading command with the literal “MSR”. This will cause the MICRSafe firmware not to
process a specific command. Instead, the MICRSafe firmware will pass the command through to
the MSR firmware which will process the command.

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

3

Get Keymap Item

Gets a key map item

4

Set Keymap Item

Sets a key map item

5

Save Custom Keymap

Saves the custom key map

7

Send Legacy Command

Sends a legacy command


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.