btnrf52-gps/lib/NeoGPS/extras/doc/ublox.md

3.1 KiB

NeoGPS support for u-blox GPS devices

To use either ublox-specific NMEA messages ($PUBX) or the UBX binary protocol, you must enable the following in NMEAGPS_cfg.h:

#define NMEAGPS_PARSE_MFR_ID

#define NMEAGPS_DERIVED_TYPES

ublox-specific NMEA messages

NeoGPS implements the following additional NMEA messages:

NMEA 0183 Proprietary Messages

  • UBX,00 - Lat/Long Position Data
  • UBX,04 - Time of Day and Clock Information

You may want to change the configured PUBX messages in PUBX_cfg.h. It is currently configured to work with the example application, PUBX.ino. PUBX_cfg.h has the following configuration items:

#define NMEAGPS_PARSE_PUBX_00
#define NMEAGPS_PARSE_PUBX_04

ublox-specific binary protocol

NeoGPS implements the following messages in the UBX binary protocol:

UBX Protocol Messages

MessageDescriptionNEO series
NAV_STATUSReceiver Navigation Status

6

NAV_TIMEGPSGPS Time Solution

6

NAV_TIMEUTCUTC Time Solution

6

NAV_POSLLHGeodetic Position Solution

6

NAV_DOPDilutions of precision

6

NAV_PVTNavigation Position Velocity Time Solution

7

NAV_VELNEDVelocity Solution in NED (North/East/Down)

6

NAV_SVINFOSpace Vehicle Information

6

HNR_PVTHigh Rate Output of PVT Solution

8

You may want to change the configured UBX messages in ubx_cfg.h. It is currently configured to work with the example application ublox.ino.

The configuration file ubx_cfg.h has the following configuration items near the top of the file:

#define UBLOX_PARSE_STATUS
#define UBLOX_PARSE_TIMEGPS
#define UBLOX_PARSE_TIMEUTC
#define UBLOX_PARSE_POSLLH
//#define UBLOX_PARSE_DOP
#define UBLOX_PARSE_VELNED
//#define UBLOX_PARSE_PVT
#define UBLOX_PARSE_SVINFO
//#define UBLOX_PARSE_HNR_PVT

Note: Disabling some of the UBX messages may prevent the ublox.ino example sketch from working. That sketch goes through a process of first acquiring the current GPS leap seconds and UTC time so that "time-of-week" milliseconds can be converted to a UTC time.

The POSLLH and VELNED messages use a Time-Of-Week timestamp. Without the TIMEGPS and TIMEUTC messages, that TOW timestamp cannot be converted to a UTC time.

  • If your application does not need the UTC date and/or time, you could disable the TIMEGPS and TIMEUTC messages.

  • If your application does not need latitude, longitude or altitude, you could disable the POSLLH message.

  • If your application does not need speed or heading, you could disable the VELNED message.

  • If your application does not need satellite information, you could disable the SVINFO message.