** Do the research to figure out just what the heck is going on with status bits NMEA actually has *four* kinds of validity bits: Mode, Status, the Active/Void bit (some sources interpret 'V' as 'Navigation receiver warning'), and in later versions the FAA indicator mode. Sentences that have an Active/Void send V when there is no fix, so the position data is no good. Let's look at which sentences send what: GPRMC GPGLL GPGGA GPGSA Returns fix Yes Yes Yes No Returns status No Yes Yes No Returns mode No No No Yes Returns A/V Yes Yes No No In addition, some sentences use empty fields to signify invalid data. My first conclusion from looking at this table is that the designers of NMEA 0183 should be hung for galloping incompetence. But never mind that. What are we to make of this mess? The fact that the FV18 sends GPMRC/GPGLL/GPGGA but not GPGSA argues that GPGSA is optional. I don't see how it can be, since it seems to be the only status bit that applies to altitude. Just how are we supposed to know when altitude is valid if it doesn't ship GSA? Can a receiver ever ship a non-empty but invalid altitude? Which of these override which other bits? I don't think status is ever nonzero when mode is zero. So status overrides mode. What other such relationships are there? * Things not to do: ** Try to crank the update rate up past 1 per second NMEA doesn't give us control of the update rate, and SiRF/Zodiac chips don't seem to be able to set cycle times below once per second even in binary mode. (Turns out the reason is that a full NMEA fix report takes about a second at 4800bps.) Even on a chipset that permitted it, at 50km/h (31mi/h) that's only 13.8 meters change in position between updates. Faster refresh might make sense for aviation applications, but not on foot or in a car.