SharpGIS.NmeaParser
2.0.0-beta1
See the version list below for details.
dotnet add package SharpGIS.NmeaParser --version 2.0.0-beta1
NuGet\Install-Package SharpGIS.NmeaParser -Version 2.0.0-beta1
<PackageReference Include="SharpGIS.NmeaParser" Version="2.0.0-beta1" />
paket add SharpGIS.NmeaParser --version 2.0.0-beta1
#r "nuget: SharpGIS.NmeaParser, 2.0.0-beta1"
// Install SharpGIS.NmeaParser as a Cake Addin #addin nuget:?package=SharpGIS.NmeaParser&version=2.0.0-beta1&prerelease // Install SharpGIS.NmeaParser as a Cake Tool #tool nuget:?package=SharpGIS.NmeaParser&version=2.0.0-beta1&prerelease
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> 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:
Map view using the ArcGIS Runtime (see separate branch):
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.4 is compatible. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net451 is compatible. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. monoandroid50 is compatible. monoandroid70 is compatible. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. uap10.0.16299 is compatible. |
Xamarin.iOS | xamarinios was computed. xamarinios10 is compatible. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- System.IO.Ports (>= 4.7.0)
-
.NETFramework 4.5.1
- No dependencies.
-
.NETStandard 1.4
- NETStandard.Library (>= 1.6.1)
-
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 |
---|---|
NINA.Equipment
This assembly contains the Equipment components of N.I.N.A. to interact and connect to various types of astronomy equipment. |
|
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 | Downloads | Last updated |
---|---|---|
3.0.0 | 849 | 11/20/2024 |
2.2.2 | 179,268 | 1/3/2022 |
2.2.0 | 44,558 | 2/16/2021 |
2.1.0 | 7,569 | 8/28/2020 |
2.0.0 | 22,051 | 1/20/2020 |
2.0.0-beta1 | 1,085 | 1/17/2020 |
1.10.0 | 39,933 | 3/29/2018 |
1.9.0 | 4,603 | 12/21/2017 |
1.8.0 | 1,975 | 12/21/2017 |
1.7.0 | 1,820 | 12/12/2017 |
1.6.1 | 3,479 | 3/7/2017 |
1.6.0 | 2,724 | 6/6/2016 |
1.5.1 | 6,120 | 3/21/2015 |
1.4.1 | 2,622 | 11/15/2014 |
1.3.1 | 1,916 | 10/8/2014 |
1.2.0 | 1,869 | 10/7/2014 |
1.1.0 | 1,836 | 7/31/2014 |
1.0.0 | 1,930 | 7/31/2014 |
New refined and easier to use v2 API