Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add public GNSS API for obtaining and processing navigation data #61073

Merged

Commits on Oct 25, 2023

  1. data: Add navigation utils header

    This commit adds the initial navigation data type and tools
    which will lay the foundation to share and process navigation
    data between the application and navigation systems like GNSS
    and similar triangulation technologies.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 25, 2023
    Copy the full SHA
    6b35c4d View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2023

  1. drivers: Add GNSS API public header

    This commit adds the public header for the GNSS API, along
    with the initial GNSS Kconfig file and an entry in the
    common linker file for registered GNSS data callbacks.
    
    A very naive implementation of the GNSS data callback is
    provided as well in drivers/gnss/gnss_publish.c
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    88563d1 View commit details
    Browse the repository at this point in the history
  2. drivers: gnss: Add gnss_dump library

    This commit adds a library which dumps the contents of the
    gnss structures gnss_info, navigation_data, gnss_time and
    gnss_satellite as a string.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    872d32d View commit details
    Browse the repository at this point in the history
  3. drivers: gnss: Add GNSS dump to log feature

    This commit adds dumping of GNSS data and satellites to
    the log if CONFIG_GNSS_DUMP_TO_LOG is selected
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    9e0ae96 View commit details
    Browse the repository at this point in the history
  4. drivers: gnss: Add GNSS parsing utilities

    This commit adds parsing utilites for common string
    representations of values contained in GNSS messages.
    
    These utilites both parse and validate the integrity of
    the data.
    
    Unit tests are also added to validate the parsing
    utilities.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    9d9a8bf View commit details
    Browse the repository at this point in the history
  5. drivers: gnss: Add parsing utils for NMEA0183

    This commit adds utilites to parse the RMC and GGA
    NMEA0183 messages, which contain all data which shall be
    published using the struct gnss_data.
    
    It also adds a test suite for the added utilities.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    3ea326c View commit details
    Browse the repository at this point in the history
  6. drivers: gnss: Add nmea0183 match utilities

    This commit adds generic matches and handlers for the RMC,
    GGA and GSV messages to be implemented as part of all
    NMEA0183 based GNSS modems.
    
    NMEA0183 based GNSS modems must place the
    struct gnss_nmea0183_match_data struct as the first struct
    in their data struct. Their data struct shall then be set
    as the user_data for the modem_chat instance.
    
    Lastly, the gnss_nmea0183_match callbacks must be included
    in the unsolicited matches for the modem_chat instance.
    
    The GNSS modems will initialize the NMEA0183 match instance
    using gnss_nmea0183_match_init.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    b9ad7cd View commit details
    Browse the repository at this point in the history
  7. drivers: gnss: Add GNSS driver for Quectel LCX6G

    This commit adds a GNSS driver for the Quectel LCX6G
    series of GNSS modems (LC26G, LC76G, LC86G). It is
    based on the modem subsystem, and the GNSS utilities
    added in the two previous commits.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    1473dd6 View commit details
    Browse the repository at this point in the history
  8. samples: gnss: Add GNSS sample application

    This commit adds a sample which configures a GNSS modem
    to enable all available systems, registers callbacks to
    the GNSS data and satellites callbacks, and prints the
    GNSS data and satellites from the callbacks when invoked
    using printk.
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    b422d95 View commit details
    Browse the repository at this point in the history
  9. doc: gnss: Add GNSS documentation

    - Added GNSS documentation entry to peripherals
    - Added GNSS API entry to the API overview as 3.6 experimental
    
    Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
    bjarki-trackunit committed Oct 29, 2023
    Copy the full SHA
    7da47ff View commit details
    Browse the repository at this point in the history