The NMEA-Parser from the GPSD project.
This code is hosted on google code now: http://code.google.com/p/gpsd-nmea/

Old instructions on how to recreate this yourself

To extract the NMEA-Parser out of GPSD is easier than it looks at first. Just download the whole source and copy these files into a separate directory:

  • gps.h
  • timebase.h
  • geoid.c
  • gpsutils.c
  • nmea_parse.c

The next step is to replace all references to ”gpsd.h” by ”gps.h” and remove ”#include gpsd_config.h”. You will also need to move some ”#define” from ”gpsd_config.h” and ”gpsd.h” to ”gps.h”. Next step is to rewrite the functions in ”nmea_parse.c” to take structs of type gps_data_t instead of gps_device_t. All what is necessary is to move the struct ”nmea” from gps_device_t.driver to gps_data_t. Last thing is the dependency on gpsd_report. I just disabled it by putting a ”#define gpsd_report(…)” at the beginning of ”gps.h”.