This project is a set of libraries, examples and tools to facilitate the development of 3GPP LPP clients.
- 3GPP LPP client - A library that can be used to communicate with a SUPL server and request assistance data.
- RTCM converter - Converts 3GPP LPP messages to RTCM messages
- SPARTN converter - Converts 3GPP LPP messages to SPARTN messages
- Interface - A set of interfaces that can be read or written to, e.g. a device, a file, a socket, etc.
- u-Blox Receiver - A library that can be used to communicate with a u-Blox receiver.
- NMEA Receiver - A library that can be used to communicate with a GNSS receiver that supports NMEA.
- 3GPP LPP example -
example-lpp
- Simple example of requesting assistance data from a SUPL server, converting it, and sending it to a GNSS receiver. Supports OSR, SSR, and basic retrieval of A-GNSS data. This is almost a fully implemented client. - NTRIP example -
example-ntrip
- Example that connects to an NTRIP caster, requesting RTCM data, and sending it to a GNSS receiver. - u-Blox example -
example-ublox
- Example that will communicate with a u-Blox receiver and print all received messages to the console. - NMEA example -
example-nmea
- Example that will communicate with a GNSS receiver (that supports NMEA) and print all received messages to the console.
First install the dependencies:
sudo apt install g++ cmake libssl-dev ninja-build
Clone the repository:
git clone git@github.com:Ericsson/SUPL-3GPP-LPP-client.git
cd SUPL-3GPP-LPP-client
Setup the build:
mkdir build
cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
Build the project (from the build directory):
ninja
See LICENSE file.