Al Johnson openmoko at
Tue Jul 15 00:06:20 CEST 2008

On Monday 14 July 2008, C R McClenaghan wrote:
> Here are my results of pumping NMEA data from the FreeRunner to
> another GPS client and pumping NMEA data from another GPS device to
> the Freerunner.
> FR -> GPSy (Mac OS X client)  - could not get a fix on NMEA data
> Garmin 10 -> FR - tangoGPS worked flawlessly
> Apparently, agpsui reads directly from /dev/ttySAC1 even when gpsd is
> running. Couldn't get agpsui to "see" the Garmin 10 data. Also, GPSy
> worked flawlessly with Garmin 10 data.
> As near as I can tell, the two data streams are very different in
> terms of GPS data and information. I'm not knowledgeable enough to say
> what the difference is, except the FR data is much more terse/brief
> (shorter length of each line of data).

The data streams will look different if one unit has a fix and the other does 
not. Some fields in the NMEA data can't be populated until a full fix is 
acquired. Others can start being populated as satellites are spotted. Once 
both units have a fix the NMEA output will be very similar, though each may 
be sending  a different subset of the NMEA sentences.

> What this experiment tells me is that data coming from the FR GPS chip
> either directly or via gpsd is does not contain enough information for
> a fix. What software exists between gpsd and/or /dev/ttySAC, if any,
> may be responsile or the GSP chip itself is not getting what it needs
> from the antenna.

It is the GPS unit that gets the fix. It then communicates location, time and 
other information to the outside world, NMEA being a nice standard for this 
communication. If you read the NMEA protocol specs you will be able to spot 
all this in the serial output from your GPS unit, be it Garmin, FR or 
whatever. The only further processing is to make this data easier to read. 
You might like to read for 
explanations of sentences like GPRMC and GPZDA for example.

More information about the community mailing list