24
$PNMRX301, Ephemeris Data Transfer
This message format is used to transfer the ephemeris data between nodes, it uses a packed
hexadecimal format to transfer ephemeris data for each of the available SV’s. Since the Ephemeris
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 Ephemeris 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. The ephemeris data for each
satellite is divided into 3 separate messages with sequence numbers to identify them, the contents
of these frames reflects the contents of the appropriate subframes 1,2,3 transmitted from the SV’s.
When transmitted these messages are generated in ascending order of SV Id and sequence number,
when being sent to the node these can be sent in any order, provided that the 3 messages for any
individual satellite are grouped together, each message is individually interpreted and after a group
of 3 valid messages for an SV the ephemeris for that SV is updated independently. The 3 message
formats are illustrated in the following tables
PNMRX301 message 1 field list
Field
Format
width
scale
Units
Notes
Message ID
$PNMRX301
8
PNMRX301 protocol header.
Satellite vehicle Id
Int
2
Decimal satellite vehicle Id from 1 to 32.
Subframe Id
Int
1
Subframe number 1.
Week number
Hex
3
Weeks
10 bit week number.
Health
Hex
2
6 bits.
URA
Hex
1
User range accuracy.
Time Group Delay
Hex
2
2
-31
Seconds
8 bits.
IODC
Hex
3
10 bit integer.
Toc
Hex
4
2
-4
16 bits.
Af2
Hex
2
2
-31
sec/sec
2
8 bit signed integer.
Af1
Hex
4
2
-43
sec/sec
16 bit signed integer.
Af0
Hex
6
2
-31
Seconds
22 bit signed integer.
Checksum
*xx
(0) 3
2 digits.
Message terminator
<CR> <LF>
2
ASCII 13, ASCII 10.