NMEA Parser

Don’t know if this is any use to anybody but here is a C# NMEA parser I wrote - It was written for normal .Net but the only thing which should be incompatible is the Serial stuff in the test project and the use of string.IsNullOrEmpty which is easily fixed. It may be a bit slow for a microcontroller but it is a start for you.

There are two messages which are parsed $GPRMC and $GPGGA, but it is easily extended. (Those messages should contain everything that most people will need.)

Ideally it should use message pooling, but I’m unsure how to do pooling with inheritance so any advice on how to improve that would be greatly welcomed.


I couldn’t find an upload button on the code site and didn’t think it was finished enough for that, so here it is.

Cool, this could come in handy. Soon im going to tear apart an old tomtom i have (that has a dead battery) to get the GPS chip out and play with it. It will be a while before i get to it so by then i guess you will have made some changes. keep us posted and share your code on the code site :slight_smile:
Cheers HughB


Thanks for sharing.
Don’t forget that you have a nice place to share code : the Codeshare repository here http://code.tinyclr.com/

Which by the way already includes some NMEA parser connected to serial driver such as http://code.tinyclr.com/project/316/extended-ghi-gps-driver/

But plenty is better that none :wink:

I couldn’t find the create button on the code site, but I’ve just realised that the login is separate to this site.

Anyway, It isn’t really in a state to be classed as stable release-worthy code - I simply made it to learn about NMEA and in-case it helps anyone else. (Maybe for someone who wants access to a more unusual message type.)