Library for handling NMEA message in Windows Desktop, Store, Phone, Universal, and Xamarin (Android + iOS), coming from files, bluetooth, serial port or any stream
Find a file
2015-03-20 12:39:14 -07:00
src Expose current filename 2015-03-20 12:39:14 -07:00
Tools/Nuget Updated nuget packaging (include xml doc) 2014-11-14 17:51:46 -08:00
.gitignore Added Xamarin iOS + Android support 2014-11-14 21:19:25 -08:00
LICENCE.TXT Added license 2014-02-10 22:42:47 -08:00
README.md Update README.md 2015-01-30 12:26:30 -08:00

Nmea Parser

Library for handling data NMEA streams coming in from Bluetooth devices in Windows Store and Windows Phone, and Serial ports in Windows Desktop apps. Stream and File support is available for Xamarin Android and iOS devices.

There's also generic support for NMEA files (for simulation/playback) and raw streams.

This library makes it easy to connect and listen for NMEA messages from various Devices in Windows Store, Windows Phone and Windows Desktop apps.

Currently supported NMEA messages:

  • Generic GPS NMEA (GPRMC, GPGGA, GPGLL, GPGSA, GPGSCV, GPRMB, GPRMC, GPBOD, GPRTE)
  • Garmin GPS NMEA (PGRME, PGRMZ)
  • Trimble Laser Range Finder (PTNLA, PTNLB)
  • TruePulse Laser Range Finder (PLTIT)

The API is easily extensible with more NMEA messages. Simply create a new class inheriting from "NmeaMessage" and use the NmeaMessageType Attribute to tag it with the NMEA Message Token it supports.

Example:

[NmeaMessageType("GPRMC")]
public class Gprmc : NmeaMessage
{
	protected override void LoadMessage(string[] message)
	{
		//TODO: Process message parts
	}
}

If you add new messages, please fork, provide a simple unit test for the message and submit a pull request.

NuGet

You can get the library via NuGet if you have the extension installed for Visual Studio or via the PowerShell package manager. This control is published via NuGet at SharpGIS.NmeaParser.

PM> Install-Package SharpGIS.NmeaParser

Usage

Please see the WIKI how to use it on the various platforms

Screenshots

Screenshots from Desktop sample app:

sampleapp2 sampleapp3

Map view using the ArcGIS Runtime (see separate branch): sampleapp1