6 Software interface
Message types
There are two types of messages:
●
Unsolicited messages
- which include status messages, date/time and GPS
information, and notifications that user data has been received
●
Command responses
- which include responses to input commands, as well as
notifications that user data has been sent or settings have been updated
General command structure
All messages sent and received are NMEA formatted sentences. NMEA sentences are
terminated with a single newline character. Each sentence begins with a
$
and ends with
*xx
where
xx
is a two digit hexadecimal checksum of the characters between the
$
and
*xx
. The
checksum conforms to the NMEA standard and does not include either the
$
or the
*xx
.
Messages with a bad checksum are silently ignored and are not retained.
A
$
will never occur within a command, and may be used to reset the receiving state machine.
An
*
may occur within a command. The receiving state machine will verify the last three
characters in the command are
*xx
after the
\n
is received and before the checksum is
calculated. Each
x
may be any legal ASCII character in the range
0..9
,
A..F
, or
a..f
.
An example command is provided below to illustrate the command structure and a valid
checksum. This command returns the most recent date/time message :
$DT @*70
$DT 20190408195123,V*6d
Command timing
Once the
$
is received, all subsequent characters must occur within 5 milliseconds of the
previous character. If the inter-character delay exceeds 5 ms, the command will be silently
discarded, and the receiving state machine will consume and ignore any characters received
until the next
$
.
June 2020
Swarm Tile Manual - Rev 1.00
28/63