why GPSes suck

garmin-nmea0183
This write up about why GPSes suck is mostly for those with a high level expertise in embedded systems and protocols. If you’re not one of those you can move along. Nothing exciting for you here.

If you’re still here, after reading this article you’ll be surprised that little GPS navigation system on your dashboard can actually give you driving directions and maybe appreciate the amount of work programmers did to to make sense of the “sucky” NMEA 0183 data they receive.

A mob of crack-smoking rhesus monkeys could have designed a better standard than NMEA 0183. It means that if you want to assemble a proper TPV report from NMEA sentences, you actually need to wait until you’ve seen an entire reporting cycle. Only…you can’t tell without knowing the type and firmware version of the GPS which sentences start and end the cycle! And even if you did know, buffering the partial data introduces latency that may be unacceptable for some applications.


image credit

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>