/NmeaParser

Library for handling NMEA message in Windows Desktop, Store, Phone, Universal, and Xamarin (Android + iOS), coming from files, bluetooth, serial port or any stream

Primary LanguageC#Apache License 2.0Apache-2.0

Nmea Parser

Library for reading and parsing NMEA data message streams. It makes it easy to connect and listen for NMEA messages coming from various devices in Windows Universal, Windows Desktop/.NET and Windows Universal apps as well as Xamarin for iOS and Android.

Sponsoring

If you like this library and use it a lot, consider sponsoring me. Anything helps and encourages me to keep going.

See here for details: https://github.com/sponsors/dotMorten

Documentation

Read the full documentation here: https://dotmorten.github.io/NmeaParser/

Features

  • Most common NMEA messages fully supported
    • GNSS: BOD, GGA, GLL, GNS, GSA, GST, GSV, RMB, RMA, RMB, RMC, RTE, VTG, ZDA
    • Garmin Proprietary: PGRME, PGRMZ
    • Trimble Laser Range Finder: PTNLA, PTNLB
    • TruePulse Laser Range Finder: PLTIT
  • Automatic merging of multi-sentence messages for simplified usage.
  • Extensible with custom NMEA messages see here
  • Multiple input devices out of the box
    • System.IO.Stream (all platforms)
    • Emulation from NMEA log file (all platforms)
    • Serial Device: .NET Framework, .NET Core (Windows, Linux, Mac) and Windows Universal.
    • Bluetooth: Windows Universal and Android. .NET Core/.NET Framework is supported using the bluetooth device via the SerialPortDevice.

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 Documentation on how to use it on the various platforms.

Screenshots

Screenshots from Desktop sample app:

sampleapp2 sampleapp3