Description
Driver to decode positions computed by a NovAtel OEM / SPAN GNSS+INS receiver capable of outputting so-called SPAN Log messages.
Notes
-
It is recommended to enable the BESTGNSSPOS in combination with the INSSTDEV message for output.
-
Driver will auto-detect if legacy format BESTGPSPOS (or the older BESTPOS) is still being outputted by your receiver.
-
Driver supports both serial as well as network (UDP and TCP) communication.
Driver Information
Click here to expand details...
|
Driver |
NovAtel SPAN (#BESTGNSSPOS Format) NovAtel OEM4 Family (#BESTPOS Telegram) |
Interface Type |
Serial or Network |
Driver Class Type |
Terminated |
|---|---|---|---|---|---|
|
Yes |
Input / Output |
Input |
Executable |
DrvQPSTerminated.exe
|
|
|
Related Systems |
|
||||
|
Related Pages |
|
||||
Decoding Notes
Click here to expand notes...
-
Each message log starts with a header of 10 comma-separated fields, then separated with a semicolon character (';') to indicate the start of the remaining comma-separated data fields.
The 6th and 7th header field represent the GPS Time (week number and seconds) and will be used for time-stamping the data in case your template setup supports a Time Synchronization System (PPS).
The driver converts to decoded GPS time to UTC time so therefore it is important to set the correct UTC to GPS correction (leap-second) in your template setup (18 sec, as of Jan 2017). -
The CRC32-bit checksum will decoded and used to check the data integrity.
If the checksum fails, no data will be decoded, unless you use command-line parameter 'NOCS' (advanced user only!). -
The Solution Status text (data field # 1) is decoded as number as defined in the Solution Status Table.
Refer to the NovAtel online documentation for the latest table information update:
-
Solution Status Table
https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#SolutionStatus
-
Position Type Table
https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#Position_VelocityType
-
Extended Solution Status table
https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#ExtendedSolutionStatus
-
Database Setup
It is important to use the same interfacing settings for all 'NovAtel SPAN (#BESTGNSSPOS Format) ' systems in your template setup.
Click here to expand setup details...
Position Navigation System
Add a Position Navigation System to your template setup and select driver:
"NovAtel SPAN (#BESTGNSSPOS Format) (With UTC)" when using the serial I/O interface, or
"Network (UDP/TCP) - NovAtel SPAN (#BESTGNSSPOS Format) (With UTC)" when using the network interface.
The latitude, longitude and height observation will be decoded automatically from the #BESTGNSSPOS message or from the legacy #BESTGPSPOS message if that is still being used from a receiver with older firmware:
First Wizard Page
Example TCP network interface
Second Wizard Page

- Location
Select the correct antenna location that represents the position of the GNSS receiver. - Receiver number
Not used by this driver as Slot ID (only one position will be decoded from all the incoming messages) - Horizontal / Vertical Datum
Select the correct horizontal and vertical datum that is applicable for the latitude and longitude fields: the same datum as seen in data field #7, 'Datum ID' of the message telegram.
Normally this will be the default 'WGS84' datum.
Time Synchronization System
Add a Time Synchronization System to your template setup and select driver:
"NovAtel SPAN (#BESTGNSSPOS Format)" when using the serial I/O interface, or
"Network (UDP/TCP) - NovAtel SPAN (#BESTGNSSPOS Format)" when using the network interface.
Time will be decoded from the #TIME message so make sure to enable this message type.
First Wizard Page
Example TCP network interface
Second Wizard Page

Notes
-
Use a Time Synchronization Display to monitor this system while being online.
For easy monitoring you can see the decoded values formatted as a text string in the status column of this display.
Miscellaneous System
Add a Miscellaneous System to your template setup and select driver:
"NovAtel SPAN (#BESTGNSSPOS Format) Status" when using the serial I/O interface, or
"Network (UDP/TCP) - NovAtel SPAN (#BESTGNSSPOS Format) Status" when using the network interface.
Generic observations will be decoded from several fields inside the BESTGNSSPOS message.
First Wizard Page
Example of TCP network interface
Second Wizard Page

- Here you can add up to eleven generic observations that you may want to monitor.
Each generic observation needs a unique Slot Id so the driver knows which field to decode.
It is highly recommended to use the drop-down selection for the correct Slot Id:
More convenient may be to use the checkbox to add all observations at once.
Of course you can change the default name for each observation as long as it doesn't exceed 16 characters.
Find below a table with all possible Slot IDs:
|
Slot 1 ID |
Observation |
Message |
|---|---|---|
|
DATUM_ID |
Datum ID (61 = WGS84, 63 = USER) |
BESTGNSSPOS, Field #8 |
|
POSTYPE |
Enumeration value. See table 'PositionType' |
BESTGNSSPOS, Field #3 |
|
SIGN_MASK1 |
Mask value. See table Galileo and BeiDou Signal-used mask |
BESTGNSSPOS, Field #21 |
|
SIGN_MASK2 |
Mask value. See table GPS and GLONASS Signal-Used mask |
BESTGNSSPOS, Field #22 |
|
SOL_AGE |
Solution age in seconds |
BESTGNSSPOS, Field #14 |
|
SOLSTATUS |
Enumeration value. See table 'Solution Status' |
BESTGNSSPOS, Field #2 |
|
SOLSTATUSX |
Mask value. See table 'Extended Solution Status' |
BESTGNSSPOS, Field #20 |
|
SV_L1_FREQ |
Number of satellites with L1/E1/B1 signals used in solution |
BESTGNSSPOS, Field #17 |
|
SV_MU_FREQ |
Number of satellites with multi-frequency signals used in solution |
BESTGNSSPOS, Field #18 |
|
SV_TRACKED |
Number of satellites tracked |
BESTGNSSPOS, Field #15 |
|
SV_USED |
Number of satellite solutions used in solution |
BESTGNSSPOS, Field #16 |
Note that the Slot ID is case-sensitive.
Third Wizard Page

- Here you can also change the default name of each observation as long as it doesn't exceed 16 characters.
- You may leave all parameters at their defaults.
Online
The driver has no user-interface so you need to set up several displays to see if data is received, decoded and what the computed results are
Click here for some examples of useful displays...
For a Position Navigation System you can monitor the Solution Status as Solution mode in a Position System Display, as Solution Mode in a Generic Display, or as Raw Alert 'Position Mode outside limit' in the Alert Display.
The other decoded fields, like base station Id, differential age, etc., can be monitored using a Position System Display or a Generic Display.
Note that the Position RMS is derived from the decoded Lat/Lon/Height Standard Deviation fields (#8, #9 and #10).
Note
Due to demand the Positioning System Display now shows under the Satellites tab, the number of satellites used in the solution, and not the number of satellites tracked.
The same applies to the Generic Display Satellite Count. The screen captures below illustrate this:
Position System Display
Generic Display