Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Roll your own NMEA parser or use an open source GPS parser?

Tags:

parsing

gps

nmea

I do a lot of location aware computing, often incorporating GPS. I have my own little simple NMEA parser that doesn't do anything special - just transforms the GPS specific sentences into usable numbers, flags, and so forth.

However, there is a lot of active development done on projects such as GPSD and Gypsy. If GPS were a simple matter, the projects would have finished long ago and simply gone into maintenance mode.

  • What do they know/do that I don't know about, and therefore my code doesn't account for?
like image 385
Adam Davis Avatar asked Feb 25 '09 19:02

Adam Davis


1 Answers

From an excellent article by the GPSD lead:

  • NMEA standard doesn't provide a full TPV (time, position, velocity) tuple with error, geoid and magnetic variation, etc
  • Since different values are in different sentences, and there's no defined order you can't easily know which velocity goes with which position report
  • Some values are not given in full (ie, year is two digits on the more common and avilable sentences)
  • No standardized way to determine vendor, model, firmware
  • No standardized way to change settings (communications speed, sentences reported, samples per second, etc)
  • Incompatible binary protocols for advanced usage and faster reporting
  • Due to interesting race conditions for USB to serial bridges and bluetooth to serial bridges, changing the speed is a very tricky problem

-Adam

like image 84
Adam Davis Avatar answered Oct 22 '22 08:10

Adam Davis