Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-102986

QtPositioning: Implement gpsd plugin

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Positioning
    • None
    • Linux/X11
    • 21
    • Foundation PM Prioritized

    Description

      On Linux we have several plugin to get position and satellite info:

      • geoclue2 - provides only position info.
      • gypsy - provides only satellite info, gypsy libraries are not included in modern distros, so you need to build it from source.
      • nmea - supports both position and satellite info. Connects to device using QtSerialPort and parses NMEA data directly. This usually requires explicit access to the device, so that it can't be used by other non-Qt apps.

      GPSd is a Linux service that takes care of communicating to GPS device. It provides both position and satellite info. It has a C library with a C++ wrapper that can be used to communicate with the service and get data from it. Internally the library uses a socket to connect to gpsd service.

      What are the benefits, compared to raw NMEA parsing:

      • GPSd also supports some custom protocols, so even if the device does not provide NMEA protocol, we still have a chance of getting data from it.
      • We do not need to explicitly lock the device - other applications can also get data from it using GPSd.
      • No dependency on QtSerialPort
      • We can theoretically connect to a gpsd service on a remote machine (the library requires to specify host and port to open a connection).

      The scope of this task is to implement a new QtPositioning pluginĀ  that will make use of GPSd and also provide detailed documentation on how it can be used.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ivan.solovev Ivan Solovev
            ivan.solovev Ivan Solovev
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes