1.. _gnss_api:
2
3GNSS (Global Navigation Satellite System)
4#########################################
5
6Overview
7********
8
9GNSS is a general term which covers satellite systems used for
10navigation, like GPS (Global Positioning System). GNSS services
11are usually accessed through GNSS modems which receive and
12process GNSS signals to determine their position, or more
13specifically, their antennas position. They usually
14additionally provide a precise time synchronization mechanism,
15commonly named PPS (Pulse-Per-Second).
16
17Subsystem support
18*****************
19
20The GNSS subsystem is based on the :ref:`modem`. The GNSS
21subsystem covers everything from sending and receiving commands
22to and from the modem, to parsing, creating and processing
23NMEA0183 messages.
24
25Adding support for additional NMEA0183 based GNSS modems
26requires little more than implementing power management
27and configuration for the specific GNSS modem.
28
29Adding support for GNSS modems which use other protocols and/or
30buses than the usual NMEA0183 over UART is possible, but will
31require a bit more work from the driver developer.
32
33Configuration Options
34*********************
35
36Related configuration options:
37
38* :kconfig:option:`CONFIG_GNSS`
39* :kconfig:option:`CONFIG_GNSS_SATELLITES`
40* :kconfig:option:`CONFIG_GNSS_DUMP_TO_LOG`
41
42Navigation Reference
43********************
44
45.. doxygengroup:: navigation
46
47GNSS API Reference
48******************
49
50.. doxygengroup:: gnss_interface
51