RES-NAK Defaults
RES: (Reset) NUL (0x00) REQ: (Request) NUL (0x00) STX: (Start of Text) NUL (0x00) ETX: (End of Text) NUL (0x00) ACK: (Acknowledge) ACK (0x06) NAK: (Negative Acknowledge) NAK (0x15)
ACK/NAK Protocol
The following are general outlines of the ACK/NAK protocol. Items that are framed by brackets ( [ ] ) can either be disabled or enabled. LRC does not include STX, but it does include preamble, postamble, and ETX.
Symbol Data Output
TX to host: [STX] [preamble] SYMBOL DATA [postamble] [ETX] [LRC]
Response from host: ACK/NAK. Sent when LRC, ETX, postamble, or timeout (waiting for more data) are detected (if REQ is disabled) depending on what is enabled.
Commands from Host to Scanner
TX to Scanner: [STX] <command> [ETX] [LRC]
Response from Scanner: ACK/NAK. Sent when LRC, ETX, or command-ending angle bracket `>' are received, depending on what is enabled.
Command Response from Scanner to Host
TX to host: [STX] [preamble] COMMAND RESPONSE DATA [postamble] [ETX] [LRC]
Response from host: ACK/NAK. Sent when LRC, ETX, postamble, command-ending angle bracket `>', or timeout (waiting for more data) are detected, depending on what is enabled.
As with Polling Mode <K140,5>, the scanner can optionally perform the REQ and RES event sequences in ACK/NAK mode. If the sender does not receive an ACK or NAK, it will send REQ to request such a response (if enabled). When the sender receives an ACK, too many NAKs, or times out (if already enabled), it will send a RES (if enabled) to terminate the transaction.
Note: See ACK/NAK Data Flow Examples for sample ACK/NAK communication scenarios.