NMEA0183 C++ Classes


Welcome to NMEA0183. This is preliminary release 0.5!

Click here to download the current classes. Click here for a list of supported sentences.

This C++ class can be used with or without Microsoft Foundation Classes (MFC). It is designed to help you (the developer) write applications that exploit NMEA0183 devices.

This release (version 0.7) of the class handles "approved" sentences as well as a bunch of non-approved sentences. This library is based upon the 01 Jan 92 version of the specification (V2.00). In short, what this library does is parse AND construct NMEA0183 sentences. This should make it very simple to create such applications as sentence translators.

Want to use a GPS receiver to synchronize your computer's clock to the GPS time? No problem. Better yet, hardly any coding is required!

Rules of Distribution:

Feel free to use this class in any of your projects, be they personal, professional or governmental. All I ask is that you drop me a line. If I've saved you a lot of time on your project, please let me know.

The Future:

"Sentences Not Recommended for New Designs" are not included in this library. Why?THERE'S A LOT OF THEM! I don't know which ones are important. This leads me to another point. I've never spoken to a NMEA0183 device. I imagine this will change in the future. Please don't assume I know what I'm talking about when you ask me questions. All I know is what the NMEA specification document tells me. It's a decent protocol specification but I have yet to come across one that is completely correct. There are bound to be errors in their documentation. For example, on page 23, APB sentence field 1, NMEA says this field will contain a "V" when there is a Loran-C Blink or SNR warning. It also says this field will contain a "V" when there is a general warning flag for other navigation systems when a reliable fix is not available. How are we to tell them apart? I don't know.

A Request:

This class is in dire need of testing. If you find errors in it please let me know and provide sample sentences when possible. Any sentences I receive will be added to the test program. Thanks in advance...

Please feel free to make suggestions.

Have Fun!

Sam Blackburn
sam_blackburn@pobox.com

Updates from v0.4

Restructured the inheritence. Nothing inherits from CObject any more. It was getting too painful. This was done to facilicate porting to non-Windows platforms (such as Unix).

Updates from v0.3

The following bugs were fixed (found by Vilhelm Persson and Eric Parsonage):

Updates from v0.2

Added the following sentences:

Updates from v0.1