23
$PNMRX300, Almanac Data Transfer
This message format is used to transfer the almanac data between nodes, it uses a packed
hexadecimal format to transfer almanac data for each of the available SV’s. Since the Almanac data
is large and can take time to transfer over a slow serial interface, the data is divided into individual
messages for each of the SV’s. These messages are transmitted sequentially and can be interleaved
with other messages to prevent the Almanac data blocking higher priority messages such as
scheduled PVT information. The data for these messages is expressed as signed or unsigned fixed
point values which have been scaled from the floating point values used in the position solution.
The appropriate scaling factors are included in the table. There is 1 message for each satellite for
which data is available. When transmitted these messages are generated in ascending order of SV
Id, when being sent to the node these can be sent in any order, each message is individually
interpreted and processed.
Field
Format
width
scale
Notes
Message ID
$PNMRX300
8
PNMRX300 protocol header.
SV Id
Int
2
Decimal Satellite vehicle Id from 1 to 32.
e
Hex
4
2
-21
16 bit signed int, scale.
Health
Hex
2
Bitmap of satellite health.
T
oa
Hex
2
Week Number
d
i
Hex
4
2
-19
16 bit signed int.
Omegadot
Hex
4
2
-38
16 bit signed int.
Root_A
Hex
6
2
-11
24 bit unsigned int.
Omegazero
Hex
6
2
-23
24 bit signed int.
Perigee
Hex
6
2
-23
24 bit signed int.
Mean
Hex
6
2
-23
24 bit signed int.
Mean anomaly
Hex
6
2
-23
24 bit signed int.
af0
Hex
6
2
-20
11 bit signed int.
af1
Hex
6
2
-68
11 bit signed int.
Checksum
*xx
(0) 3
2 digits.
Message terminator
<CR> <LF>
2
ASCII 13, ASCII 10.