SharpGIS.NmeaParser 2.0.0-beta1

An NMEA stream parser for serial port, bluetooth and file-based nmea simulation.

This is a prerelease version of SharpGIS.NmeaParser.
There is a newer version of this package available.
See the version list below for details.
Install-Package SharpGIS.NmeaParser -Version 2.0.0-beta1
dotnet add package SharpGIS.NmeaParser --version 2.0.0-beta1
<PackageReference Include="SharpGIS.NmeaParser" Version="2.0.0-beta1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharpGIS.NmeaParser --version 2.0.0-beta1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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

Features

The following inputs are supported:

  • System.IO.Stream (all platforms)
  • Emulation from NMEA log file (all platforms)
  • Bluetooth: Windows Universal and Android. Desktop is supported using the bluetooth device via the SerialPortDevice.
  • Serial Device: Windows Desktop and Windows Universal.

Currently supported NMEA messages:

  • 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

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("--RMC")]
public class Rmc : 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.

<table border="4px">
<tr><td>
<code>PM&gt; Install-Package SharpGIS.NmeaParser</code>
</td></tr></table>

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

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

Features

The following inputs are supported:

  • System.IO.Stream (all platforms)
  • Emulation from NMEA log file (all platforms)
  • Bluetooth: Windows Universal and Android. Desktop is supported using the bluetooth device via the SerialPortDevice.
  • Serial Device: Windows Desktop and Windows Universal.

Currently supported NMEA messages:

  • 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

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("--RMC")]
public class Rmc : 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.

<table border="4px">
<tr><td>
<code>PM&gt; Install-Package SharpGIS.NmeaParser</code>
</td></tr></table>

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

Release Notes

New refined and easier to use v2 API

  • .NETCoreApp 2.1

  • .NETFramework 4.5.1

    • No dependencies.
  • .NETStandard 1.4

  • MonoAndroid 5.0

    • No dependencies.
  • MonoAndroid 7.0

    • No dependencies.
  • UAP 10.0.16299

    • No dependencies.
  • Xamarin.iOS 1.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SharpGIS.NmeaParser:

Package Downloads
Geocortex.Mobile
Create Geocortex Mobile apps for Android, iOS, and UWP. Extend your apps with custom components, operations and services.
VertiGIS.Mobile
Create VertiGIS Mobile apps for Android, iOS, and UWP. Extend your apps with custom components, operations and services.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.0.0 2,618 1/20/2020
2.0.0-beta1 120 1/17/2020
1.10.0 15,594 3/29/2018
1.9.0 2,344 12/21/2017
1.8.0 508 12/21/2017
1.7.0 441 12/12/2017
1.6.1 1,899 3/7/2017
1.6.0 1,238 6/6/2016
1.5.1 3,804 3/21/2015
1.4.1 1,223 11/15/2014
1.3.1 573 10/8/2014
1.2.0 475 10/7/2014
1.1.0 475 7/31/2014
1.0.0 490 7/31/2014