svelde-nmea-parser
1.0.5
dotnet add package svelde-nmea-parser --version 1.0.5
NuGet\Install-Package svelde-nmea-parser -Version 1.0.5
<PackageReference Include="svelde-nmea-parser" Version="1.0.5" />
paket add svelde-nmea-parser --version 1.0.5
#r "nuget: svelde-nmea-parser, 1.0.5"
// 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 Compatible and additional computed target framework versions. |
---|---|
.NET Core | netcoreapp is compatible. |
-
- Newtonsoft.Json (>= 12.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial version.