This repository contains user-space gps drivers, used as a submodule in PX4-Autopilot and QGroundControl.
All platform-specific stuff is done via a callback function and a
definitions.h header file.
In order for the project to build, definitions.h must include definitions for sensor_gnss_relative_s, sensor_gps_s, satellite_info_s, sensor_gnss_rf_s (and sensor_gnss_spectrum_s when applicable).
For example, check the implementation in PX4 Autopilot or QGroundControl.
To test parsers, build and run the cmake project:
cmake -Bbuild -H.
cmake --build build && build/tests/gps-parser-test
Run ctest --test-dir build --output-on-failure to also check UTC conversion in
multiple host timezones, including daylight-saving transitions and SBF GPS-week normalization.
PRs modifying header files are automatically checked for breaking changes. See tools/README.md for details.