Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor
1.3.4
See the version list below for details.
dotnet add package Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor --version 1.3.4
NuGet\Install-Package Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor -Version 1.3.4
<PackageReference Include="Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor" Version="1.3.4" />
<PackageVersion Include="Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor" Version="1.3.4" />
<PackageReference Include="Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor" />
paket add Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor --version 1.3.4
#r "nuget: Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor, 1.3.4"
#addin nuget:?package=Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor&version=1.3.4
#tool nuget:?package=Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor&version=1.3.4
Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor
GNSS NMEA parsing library
The NmeaProcessor library is designed for the Wilderness Labs Meadow .NET IoT platform and is part of Meadow.Foundation.
The Meadow.Foundation peripherals library is an open-source repository of drivers and libraries that streamline and simplify adding hardware to your C# .NET Meadow IoT application.
For more information on developing for Meadow, visit developer.wildernesslabs.co.
To view all Wilderness Labs open-source projects, including samples, visit github.com/wildernesslabs.
Usage
List<string> sentences;
NmeaSentenceProcessor nmeaProcessor;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
sentences = GetSampleNmeaSentences();
InitDecoders();
foreach (string sentence in sentences)
{
Resolver.Log.Info($"About to process:{sentence}");
nmeaProcessor.ProcessNmeaMessage(sentence);
}
Resolver.Log.Info("Made it through all sentences");
return Task.CompletedTask;
}
void InitDecoders()
{
Resolver.Log.Info("Create NMEA");
nmeaProcessor = new NmeaSentenceProcessor();
Resolver.Log.Info("Add decoders");
// GGA
var ggaDecoder = new GgaDecoder();
Resolver.Log.Info("Created GGA");
nmeaProcessor.RegisterDecoder(ggaDecoder);
ggaDecoder.PositionReceived += (object sender, GnssPositionInfo location) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(location.ToString());
Resolver.Log.Info("*********************************************");
};
// GLL
var gllDecoder = new GllDecoder();
nmeaProcessor.RegisterDecoder(gllDecoder);
gllDecoder.GeographicLatitudeLongitudeReceived += (object sender, GnssPositionInfo location) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(location.ToString());
Resolver.Log.Info("*********************************************");
};
// GSA
var gsaDecoder = new GsaDecoder();
nmeaProcessor.RegisterDecoder(gsaDecoder);
gsaDecoder.ActiveSatellitesReceived += (object sender, ActiveSatellites activeSatellites) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(activeSatellites.ToString());
Resolver.Log.Info("*********************************************");
};
// RMC (recommended minimum)
var rmcDecoder = new RmcDecoder();
nmeaProcessor.RegisterDecoder(rmcDecoder);
rmcDecoder.PositionCourseAndTimeReceived += (object sender, GnssPositionInfo positionCourseAndTime) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(positionCourseAndTime.ToString());
Resolver.Log.Info("*********************************************");
};
// VTG (course made good)
var vtgDecoder = new VtgDecoder();
nmeaProcessor.RegisterDecoder(vtgDecoder);
vtgDecoder.CourseAndVelocityReceived += (object sender, CourseOverGround courseAndVelocity) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info($"{courseAndVelocity}");
Resolver.Log.Info("*********************************************");
};
// GSV (satellites in view)
var gsvDecoder = new GsvDecoder();
nmeaProcessor.RegisterDecoder(gsvDecoder);
gsvDecoder.SatellitesInViewReceived += (object sender, SatellitesInView satellites) => {
Resolver.Log.Info("*********************************************");
Resolver.Log.Info($"{satellites}");
Resolver.Log.Info("*********************************************");
};
}
List<string> GetSampleNmeaSentences()
{
List<string> sentences = new List<string>() {
"$GPGGA,000049.799,,,,,0,00,,,M,,M,,*72", // i think not valid.
"$GNGGA,001043.00,4404.14036,N,12118.85961,W,1,12,0.98,1113.0,M,-21.3,M,,*47", // valid
"$GNRMC,001031.00,A,4404.13993,N,12118.86023,W,0.146,,100117,,,A*7B", // valid
"$GPVTG,220.86,T,,M,2.550,N,4.724,K,A*34", // Valid
"$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32",
"$GPRMC,162254.00,A,3723.02837,N,12159.39853,W,0.820,188.36,110706,,,A*74",
"$GPVTG,188.36,T,,M,0.820,N,1.519,K,A*3F",
"$GPGGA,162254.00,3723.02837,N,12159.39853,W,1,03,2.36,525.6,M,-25.6,M,,*65",
"$GPGSA,A,2,25,01,22,,,,,,,,,,2.56,2.36,1.00*02",
"$GPGSA,A,3,10,32,14,01,,,,,,,,,2.41,2.20,0.99*01",
"$GPGSV,3,1,11,03,03,111,00,04,15,270,00,06,01,010,00,13,06,292,00*74",
"$GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74",
"$GPGSV,3,3,11,22,42,067,42,24,14,311,43,27,05,244,00,,,,*4D",
"$GPGLL,3723.02837,N,12159.39853,W,162254.00,A,A*7C",
"$GPZDA,162254.00,11,07,2006,00,00*63",
"$GNGLL,,,,,,V,N*7A",
"$GLGSV,1,1,00*65",
};
return sentences;
}
How to Contribute
- Found a bug? Report an issue
- Have a feature idea or driver request? Open a new feature request
- Want to contribute code? Fork the Meadow.Foundation repository and submit a pull request against the
develop
branch
Need Help?
If you have questions or need assistance, please join the Wilderness Labs community on Slack.
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Meadow.Foundation (>= 1.3.4)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Meadow.Foundation.Sensors.Location.Gnss.NmeaProcessor:
Package | Downloads |
---|---|
Meadow.Foundation.Sensors.Gnss.NeoM8
NEO M8 SPI, I2C, and serial GNSS / GPS controller |
|
Meadow.Foundation.Sensors.Gnss.Mt3339
MediaTek MT3339 serial GNSS / GPS controller |
|
Meadow.Foundation.Sensors.Gnss
BG95-M3 Cellular / GNSS controller |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.2.0.10-beta | 158 | 7/8/2025 |
2.2.0.9-beta | 179 | 7/4/2025 |
2.2.0.8-beta | 240 | 7/3/2025 |
2.2.0.7-beta | 254 | 6/19/2025 |
2.2.0.6-beta | 251 | 6/18/2025 |
2.2.0.5-beta | 254 | 6/3/2025 |
2.2.0.4-beta | 247 | 5/28/2025 |
2.2.0.2 | 404 | 5/7/2025 |
2.1.0.7-beta | 259 | 5/7/2025 |
2.1.0.3-beta | 269 | 4/7/2025 |
2.1.0.2-beta | 250 | 3/26/2025 |
2.1.0.1 | 332 | 3/12/2025 |
2.0.1.10-beta | 278 | 3/12/2025 |
2.0.1.9-beta | 238 | 3/9/2025 |
2.0.1.8-beta | 353 | 3/5/2025 |
2.0.1.7-beta | 339 | 3/3/2025 |
2.0.1.6-beta | 250 | 2/25/2025 |
2.0.1.5-beta | 250 | 2/20/2025 |
2.0.1.4-beta | 223 | 2/6/2025 |
2.0.1.3-beta | 204 | 1/28/2025 |
2.0.1.2 | 579 | 1/18/2025 |
2.0.1.1 | 362 | 1/18/2025 |
2.0.0.9 | 293 | 1/18/2025 |
2.0.0.8-beta | 224 | 1/16/2025 |
2.0.0.7-beta | 203 | 1/13/2025 |
2.0.0.6-beta | 197 | 1/12/2025 |
2.0.0.5-beta | 200 | 1/12/2025 |
2.0.0.4-beta | 191 | 1/8/2025 |
2.0.0.3 | 290 | 1/7/2025 |
1.15.0.10-beta | 203 | 1/7/2025 |
1.15.0.9-beta | 255 | 1/4/2025 |
1.15.0.8-beta | 240 | 12/24/2024 |
1.15.0.7-beta | 230 | 12/17/2024 |
1.15.0.6-beta | 217 | 11/20/2024 |
1.15.0.5-beta | 211 | 11/19/2024 |
1.15.0.4-beta | 217 | 11/16/2024 |
1.15.0.3-beta | 248 | 11/4/2024 |
1.15.0.2-beta | 228 | 10/29/2024 |
1.15.0.1-beta | 243 | 10/22/2024 |
1.15.0 | 364 | 10/15/2024 |
1.14.0.6-beta | 235 | 10/8/2024 |
1.14.0.5-beta | 239 | 10/2/2024 |
1.14.0.4-beta | 247 | 9/24/2024 |
1.14.0.3-beta | 312 | 9/17/2024 |
1.14.0.2-beta | 303 | 9/12/2024 |
1.14.0.1-beta | 315 | 9/10/2024 |
1.14.0 | 443 | 9/5/2024 |
1.13.0.1-beta | 337 | 8/21/2024 |
1.13.0 | 420 | 8/15/2024 |
1.12.8.7-beta | 318 | 8/14/2024 |
1.12.8.6-beta | 286 | 8/6/2024 |
1.12.8.5-beta | 188 | 7/30/2024 |
1.12.8.4-beta | 172 | 7/30/2024 |
1.12.8.2-beta | 258 | 7/24/2024 |
1.12.8.1-beta | 265 | 7/17/2024 |
1.12.8 | 419 | 7/11/2024 |
1.12.2.9-beta | 284 | 7/9/2024 |
1.12.2.7-beta | 341 | 7/3/2024 |
1.12.2.6-beta | 319 | 6/29/2024 |
1.12.2.5-beta | 319 | 6/28/2024 |
1.12.2.4-beta | 307 | 6/24/2024 |
1.12.2.3-beta | 310 | 6/24/2024 |
1.12.2.1-beta | 311 | 6/19/2024 |
1.12.2 | 630 | 6/11/2024 |
1.12.0.2-beta | 322 | 6/4/2024 |
1.12.0.1-beta | 307 | 5/30/2024 |
1.12.0 | 503 | 5/28/2024 |
1.11.0.5-beta | 309 | 5/24/2024 |
1.11.0.4-beta | 323 | 5/21/2024 |
1.11.0.3-beta | 344 | 5/15/2024 |
1.11.0.2-beta | 346 | 5/9/2024 |
1.11.0.1-beta | 352 | 5/8/2024 |
1.11.0 | 507 | 4/30/2024 |
1.10.2.1-beta | 338 | 4/23/2024 |
1.10.2 | 401 | 4/17/2024 |
1.10.0.3-beta | 322 | 4/15/2024 |
1.10.0.2-beta | 293 | 4/11/2024 |
1.10.0.1-beta | 346 | 4/5/2024 |
1.10.0 | 423 | 3/26/2024 |
1.9.0.6-beta | 372 | 3/25/2024 |
1.9.0.5-beta | 390 | 3/19/2024 |
1.9.0.4-beta | 390 | 3/13/2024 |
1.9.0.3 | 477 | 3/6/2024 |
1.9.0.3-beta | 228 | 3/6/2024 |
1.9.0.2-beta | 400 | 3/6/2024 |
1.9.0.1 | 505 | 3/1/2024 |
1.9.0 | 660 | 2/27/2024 |
1.8.0.8-beta | 448 | 2/23/2024 |
1.8.0.7-beta | 497 | 2/22/2024 |
1.8.0.6-beta | 488 | 2/20/2024 |
1.8.0.5-beta | 492 | 2/13/2024 |
1.8.0.4-beta | 470 | 2/6/2024 |
1.8.0.3-beta | 493 | 2/1/2024 |
1.8.0.2-beta | 518 | 1/24/2024 |
1.8.0.1 | 681 | 1/20/2024 |
1.8.0 | 894 | 1/16/2024 |
1.7.0 | 649 | 1/9/2024 |
1.6.0.6-beta | 588 | 1/3/2024 |
1.6.0.5-beta | 647 | 12/27/2023 |
1.6.0.4-beta | 591 | 12/20/2023 |
1.6.0.3-beta | 638 | 12/19/2023 |
1.6.0.2-beta | 621 | 12/12/2023 |
1.6.0 | 958 | 12/6/2023 |
1.5.0.1-beta | 709 | 12/4/2023 |
1.5.0 | 840 | 11/28/2023 |
1.4.0.9-beta | 651 | 11/28/2023 |
1.4.0.8-beta | 637 | 11/27/2023 |
1.4.0.7-beta | 699 | 11/8/2023 |
1.4.0.6-beta | 664 | 11/7/2023 |
1.4.0.4-beta | 675 | 11/1/2023 |
1.4.0.3 | 785 | 10/31/2023 |
1.3.4.10-beta | 610 | 10/25/2023 |
1.3.4.9-beta | 775 | 10/24/2023 |
1.3.4.8-beta | 676 | 10/17/2023 |
1.3.4.7-beta | 708 | 10/10/2023 |
1.3.4.6-beta | 728 | 10/5/2023 |
1.3.4.5-beta | 718 | 10/4/2023 |
1.3.4.4-beta | 675 | 10/3/2023 |
1.3.4.3-beta | 716 | 10/3/2023 |
1.3.4.2-beta | 753 | 9/30/2023 |
1.3.4.1-beta | 743 | 9/30/2023 |
1.3.4 | 1,417 | 9/26/2023 |
1.3.2.5-beta | 716 | 9/21/2023 |
1.3.2.4-beta | 715 | 9/20/2023 |
1.3.2.3-beta | 697 | 9/19/2023 |
1.3.2.2-beta | 695 | 9/15/2023 |
1.3.2.1-beta | 733 | 9/14/2023 |
1.3.2-beta | 738 | 9/13/2023 |
1.3.1.1-beta | 781 | 9/5/2023 |
1.3.0 | 1,009 | 8/29/2023 |
1.2.1.11-beta | 770 | 8/24/2023 |
1.2.1.9-beta | 835 | 8/17/2023 |
1.2.1.8-beta | 869 | 8/8/2023 |
1.2.1.6-beta | 865 | 8/4/2023 |
1.2.0 | 1,028 | 8/1/2023 |
1.1.1.11-beta | 880 | 7/24/2023 |
1.1.1.10-beta | 893 | 7/22/2023 |
1.1.1.9-beta | 731 | 7/22/2023 |
1.1.1.8-beta | 739 | 7/21/2023 |
1.1.0 | 1,266 | 7/11/2023 |
1.0.2.1 | 990 | 6/3/2023 |
1.0.2 | 914 | 6/3/2023 |
1.0.0.1 | 922 | 5/30/2023 |
1.0.0 | 1,017 | 5/28/2023 |
0.99.0 | 1,959 | 5/28/2023 |
0.98.2-alpha | 779 | 5/27/2023 |
0.98.0 | 1,055 | 5/6/2023 |
0.96.0 | 1,280 | 4/2/2023 |
0.95.0 | 1,323 | 3/5/2023 |
0.94.2 | 1,385 | 2/7/2023 |
0.94.1 | 1,370 | 2/2/2023 |
0.92.5 | 1,408 | 12/31/2022 |
0.90.0 | 1,747 | 11/23/2022 |
0.89.2 | 1,319 | 11/23/2022 |
0.89.1 | 921 | 11/23/2022 |
0.1.51 | 1,412 | 11/21/2022 |
0.1.50 | 1,338 | 10/24/2022 |
0.1.47 | 1,314 | 5/30/2022 |