Design Guide

Serial Communication Protocol
A DIVISION OF TRIMBLE
66 Communication Protocol
Serial Communication Protocol
ThingMagic does not support bypassing the MercuryAPI to send commands to the
ThingMagic Nano module directly, but some information about this interface is useful
when troubleshooting and debugging applications which interface with the MercuryAPI.
The serial communication between MercuryAPI and the ThingMagic Nano is based on a
synchronized command-response/master-slave mechanism. Whenever the host sends a
message to the reader, it cannot send another message until after it receives a response.
The reader never initiates a communication session; only the host initiates a
communication session.
This protocol allows for each command to have its own time-out because some
commands require more time to execute than others. MercuryAPI must manage retries, if
necessary. MercuryAPI must keep track of the state of the intended reader if it reissues a
command.
Host-to-Reader Communication
Host-to-reader communication is packetized according to the following diagram. The
reader can only accept one command at a time, and commands are executed serially, so
the host waits for a reader-to-host response before issuing another host-to-reader
command packet.
Header Data Length Command Data CRC-16
Checksum
Hdr Len Cmd ---------------- CRC Hi /
CRC LO
1 byte 1 byte 1 byte 0 to 250
bytes
2 bytes