Copyright 2019 ID TECH. All rights reserved.
Document Number: 80145503-001
Page 14 of 32
8.
USB Communication
Two-way communication can occur with Augusta using USB-KB (for SecureMag compatibility mode; that
is, magstripe-only operation) or via USB-HID (magstripe plus EMV). When a unit is placed in Quick Chip
and M/Chip Fast mode, it operates read-only, in keyboard mode.
In MSR-only Legacy mode (two-way USB-KB, non-Quick-Chip), commands are sent and received using
the ID Tech ITP Protocol (a simple command/response scheme that wraps data with start and end codes
plus an LRC, or longitudinal redundancy check, value; see below). In combined EMV+MSR mode (that is,
USB-HID mode; EMV enabled), commands are sent via ID Tech NGA Protocol (a simple command-and-
response scheme; see details further below).
For the complete firmware-command API, see document 80145504-001,
ID TECH Augusta Low-Level
Command API Guide
(available at
https://atlassian.idtechproducts.com/confluence/display/KB/Do-+Home
8.1.
ITP Protocol Format
•
<STX>
is defined as 0x02
•
<ETX>
is defined as 0x03
•
<ACK>
is defined as 0x06
•
<NAK>
is defined as 0x15
Configuration Setting Command:
<STX><S><FuncSETBLOCK1>…<FuncBLOCKn><ETX><LRC>
Response
: <ACK>
or
<NAK>
for wrong command (invalid funcID, length and value)
Configuration Review Command
: <STX><R><ReviewID><ETX><LRC>
Response:
<ACK> <STX> <FuncID> <Len> <FuncData> <ETX> <LRC 2>
<FuncID>
,
<Len>
and
<FuncData>
definition are same as described above.
Note: ReviewID (value 0x1F) will return all funcID-s.
Where:
•
<Length> =
is a two-byte counter (high then low) from
<Command ID>
to the byte before
LRC
•
<Command ID> =
is a one byte value identifying a specific command ID.
•
<FuncID> =
is a one byte Function ID, which identifies the particular function or settings
affected.
•
<Len> =
is a one-byte length count for the data block “
<FuncData>
”
•
<FuncData>
= is the data block for the function
<Response Data> =
is the data block associated with the Response.
<Status>
is a two byte value indicating the success or failure of a command. There are a few
responses without status. e.g. Version command.