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/Downloads+-+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.