Menu

#20 gpsdrive should use libgps

gpsdrive-svn
closed-fixed
nobody
Interface (9)
5
2009-01-09
2008-12-16
No

Hi,

gpsdrive reads nmea sentences directly from gpsd (see nmea_handler.c). This had lead to a number of problems in the past (see for example debian bug #456149).
Maybe it would be better to use libgps or similiar?

Cheers,
Andreas

Discussion

  • D.S.E

    D.S.E - 2008-12-16

    right. gpsdrice should use libgps and the nmea parsing code should be removed.
    I already tested this within another application, but there are still some issues, that prevented me from changing this in gpsdrive.

    but it is on the TODO list.

     
  • Hamish B

    Hamish B - 2008-12-16

    alternatively, a path of minimal change:

    instead of requesting raw NMEA with "R+" in gps_handler.c, we could initialize in watcher mode (W+), then parse the [nema parsed] "O" string.

    send (sock, "W+\n", 3, 0);

    "The recommended mode for clients is watcher mode. In
    watcher mode gpsd ships a line of data to the client each
    time the GPS gets either a fix update or a satellite
    picture, but rather than being raw NMEA the line is a gpsd
    'o' or 'y' response. Additionally, watching clients get
    notifications in the form X=0 or X=%f when the
    online/offline status of the GPS changes, and an I response
    giving the device type when the user is assigned a device.

    Clients should be prepared for the possibility that
    additional fields (such as heading or roll/pitch/yaw) may
    be added to the O command, and not treat the occurrence of
    extra fields as an error. The protocol number will be
    incremented if and when such fields are added."

    ?
    Hamish

     
  • D.S.E

    D.S.E - 2009-01-09

    done with svn revision 2243.

     
  • D.S.E

    D.S.E - 2009-01-09
    • status: open --> closed-fixed
     

Log in to post a comment.