svelde-nmea-parser 1.0.5

.NET Core
NuGet\Install-Package svelde-nmea-parser -Version 1.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package svelde-nmea-parser --version 1.0.5
<PackageReference Include="svelde-nmea-parser" Version="1.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add svelde-nmea-parser --version 1.0.5
#r "nuget: svelde-nmea-parser, 1.0.5"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install svelde-nmea-parser as a Cake Addin
#addin nuget:?package=svelde-nmea-parser&version=1.0.5

// Install svelde-nmea-parser as a Cake Tool
#tool nuget:?package=svelde-nmea-parser&version=1.0.5

nmeaparser

Parser for NMEA messages. Currently parses GSV, GGA, GSA, GLL, GMC, VTG and TXT

Usage

The parser parses message like '$GNGLL,4513.13795,N,01859.19702,E,143717.00,A,A*72'

    ...
    _parser = new NmeaParser();

    _parser.NmeaMessageParsed += NmeaMessageParsed;

    _parser.Parse(sentence);
    ...

    private static void NmeaMessageParsed(object sender, NmeaMessage e)
    {
        Console.WriteLine($"{e}");
        
        if (e is GnrmcMessage)
        {
           // Use message
        }   
    }

Once the message is parsed, a derived NmeaMessage is made available in the 'NmeaMessageParsed' event.

Why events?

The event is used because some NMEA messages are splitted up in multiple sentences like GSA and GSV.

For these messages, the result is buffered. Once the complete message is made available, the event is raised.

Degrees

The location degrees are calculated as decimal degrees.

    (d)dd + (mm.mmmm/60) (* -1 for W and S)

Serial Reader

For testing purposes, a reader for serial ports is added in the test application. If uses .Net Standard System IO access to serial ports.

System.IO.Ports

The example app only supports Windows due to the usage of the System.IO.Ports library.

NuGet

You can use this library as a Nuget Package:

Install-Package svelde-nmea-parser -Version 1.0.0

Tested devices

The following devices are used to test the parser:

  • BEITIAN USB GNSS GPS Receiver BN-85U (U-Blox UBX-M8030)
  • Webio GRB-288 Bluetooth GPS mouse
  • GSpace GS-R238 GPS mouse (SiRFstarIII)

Note: If you want to have your GPS device tested and officially supported here, please send me a DM in twitter @svelde

Product Versions
.NET Core netcoreapp
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.5 887 9/27/2019
1.0.4 377 9/27/2019
1.0.3 368 9/27/2019
1.0.2 356 9/27/2019
1.0.1 364 9/27/2019
1.0.0 510 8/14/2019

Initial version.