diff --git a/src/NmeaParser/Nmea/Bod.cs b/src/NmeaParser/Nmea/Bod.cs index 043bb73..44895df 100644 --- a/src/NmeaParser/Nmea/Bod.cs +++ b/src/NmeaParser/Nmea/Bod.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Bearing - Origin to Destination diff --git a/src/NmeaParser/Nmea/Garmin/PGRME.cs b/src/NmeaParser/Nmea/Garmin/PGRME.cs index 99cc1bd..9d8c6b0 100644 --- a/src/NmeaParser/Nmea/Garmin/PGRME.cs +++ b/src/NmeaParser/Nmea/Garmin/PGRME.cs @@ -14,7 +14,7 @@ using System; -namespace NmeaParser.Nmea.Garmin +namespace NmeaParser.Messages.Garmin { /// /// Recommended Minimum diff --git a/src/NmeaParser/Nmea/Garmin/PGRMZ.cs b/src/NmeaParser/Nmea/Garmin/PGRMZ.cs index 7a7b0a5..fc92d50 100644 --- a/src/NmeaParser/Nmea/Garmin/PGRMZ.cs +++ b/src/NmeaParser/Nmea/Garmin/PGRMZ.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea.Garmin +namespace NmeaParser.Messages.Garmin { /// /// Altitude Information diff --git a/src/NmeaParser/Nmea/Gga.cs b/src/NmeaParser/Nmea/Gga.cs index b057245..ceebc33 100644 --- a/src/NmeaParser/Nmea/Gga.cs +++ b/src/NmeaParser/Nmea/Gga.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Global Positioning System Fix Data diff --git a/src/NmeaParser/Nmea/Gll.cs b/src/NmeaParser/Nmea/Gll.cs index 6782820..7aff96d 100644 --- a/src/NmeaParser/Nmea/Gll.cs +++ b/src/NmeaParser/Nmea/Gll.cs @@ -14,7 +14,7 @@ using System; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Geographic position, latitude / longitude. diff --git a/src/NmeaParser/Nmea/Gns.cs b/src/NmeaParser/Nmea/Gns.cs index 4f88bee..4afc73e 100644 --- a/src/NmeaParser/Nmea/Gns.cs +++ b/src/NmeaParser/Nmea/Gns.cs @@ -16,7 +16,7 @@ using System; using System.Globalization; using System.Linq; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Fixes data for single or combined (GPS, GLONASS, possible future satellite systems, and systems combining these) satellite navigation systems diff --git a/src/NmeaParser/Nmea/Gsa.cs b/src/NmeaParser/Nmea/Gsa.cs index 3ba120f..e930766 100644 --- a/src/NmeaParser/Nmea/Gsa.cs +++ b/src/NmeaParser/Nmea/Gsa.cs @@ -16,7 +16,7 @@ using System; using System.Collections.Generic; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Global Positioning System DOP and active satellites diff --git a/src/NmeaParser/Nmea/Gst.cs b/src/NmeaParser/Nmea/Gst.cs index 73cd896..a4d7bc8 100644 --- a/src/NmeaParser/Nmea/Gst.cs +++ b/src/NmeaParser/Nmea/Gst.cs @@ -14,7 +14,7 @@ using System; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Pseudorange error statistics diff --git a/src/NmeaParser/Nmea/Gsv.cs b/src/NmeaParser/Nmea/Gsv.cs index a9a8fa0..ade6a3f 100644 --- a/src/NmeaParser/Nmea/Gsv.cs +++ b/src/NmeaParser/Nmea/Gsv.cs @@ -16,7 +16,7 @@ using System; using System.Collections.Generic; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// GNSS Satellites in view diff --git a/src/NmeaParser/Nmea/LaserRangeMessage.cs b/src/NmeaParser/Nmea/LaserRangeMessage.cs index 3986c0b..f428f11 100644 --- a/src/NmeaParser/Nmea/LaserRangeMessage.cs +++ b/src/NmeaParser/Nmea/LaserRangeMessage.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Laser Range Measurement diff --git a/src/NmeaParser/Nmea/LaserTech/PLTIT.cs b/src/NmeaParser/Nmea/LaserTech/PLTIT.cs index 1739f68..fa5d030 100644 --- a/src/NmeaParser/Nmea/LaserTech/PLTIT.cs +++ b/src/NmeaParser/Nmea/LaserTech/PLTIT.cs @@ -12,7 +12,7 @@ // * limitations under the License. // ****************************************************************************** -namespace NmeaParser.Nmea.LaserTech +namespace NmeaParser.Messages.LaserTech { /// /// Laser Range diff --git a/src/NmeaParser/Nmea/NmeaMessage.cs b/src/NmeaParser/Nmea/NmeaMessage.cs index df9f79f..099959f 100644 --- a/src/NmeaParser/Nmea/NmeaMessage.cs +++ b/src/NmeaParser/Nmea/NmeaMessage.cs @@ -18,25 +18,34 @@ using System.Globalization; using System.Linq; using System.Reflection; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Nmea message attribute type used on concrete implementations. /// + /// + /// The 5-character indicates which message the class is meant to parse. + /// Set the first two characters to -- to make the message talker-independent. + /// + /// + /// [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class NmeaMessageTypeAttribute : Attribute { /// /// Initializes a new instance of the class. /// - /// The type. + /// The 5-character NMEA type name, for instance GPRMC, or --RMC to make it apply to all talkers. public NmeaMessageTypeAttribute(string nmeaType) { NmeaType = nmeaType; } /// - /// Gets or sets the NMEA message type. + /// Gets the NMEA message type name. /// + /// + /// If the type name starts with --, this message can apply to all talker types. + /// public string NmeaType { get; private set; } } diff --git a/src/NmeaParser/Nmea/NmeaMultiSentenceMessage.cs b/src/NmeaParser/Nmea/NmeaMultiSentenceMessage.cs index 602f587..75fbbf2 100644 --- a/src/NmeaParser/Nmea/NmeaMultiSentenceMessage.cs +++ b/src/NmeaParser/Nmea/NmeaMultiSentenceMessage.cs @@ -16,7 +16,7 @@ using System; using System.Collections.Generic; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Base class for easily creating message that are spread across multiple sentences diff --git a/src/NmeaParser/Nmea/Rma.cs b/src/NmeaParser/Nmea/Rma.cs index b4a7b68..f2578de 100644 --- a/src/NmeaParser/Nmea/Rma.cs +++ b/src/NmeaParser/Nmea/Rma.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Recommended minimum specific Loran-C Data diff --git a/src/NmeaParser/Nmea/Rmb.cs b/src/NmeaParser/Nmea/Rmb.cs index b4ae375..0f80983 100644 --- a/src/NmeaParser/Nmea/Rmb.cs +++ b/src/NmeaParser/Nmea/Rmb.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Recommended minimum navigation information diff --git a/src/NmeaParser/Nmea/Rmc.cs b/src/NmeaParser/Nmea/Rmc.cs index 1a0c2b5..f8a6ed5 100644 --- a/src/NmeaParser/Nmea/Rmc.cs +++ b/src/NmeaParser/Nmea/Rmc.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Recommended Minimum specific GNSS data diff --git a/src/NmeaParser/Nmea/Rte.cs b/src/NmeaParser/Nmea/Rte.cs index 8dcbbc3..01b4b71 100644 --- a/src/NmeaParser/Nmea/Rte.cs +++ b/src/NmeaParser/Nmea/Rte.cs @@ -17,7 +17,7 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Routes diff --git a/src/NmeaParser/Nmea/Trimble/PTNLA.cs b/src/NmeaParser/Nmea/Trimble/PTNLA.cs index 77a495f..5d9a1fa 100644 --- a/src/NmeaParser/Nmea/Trimble/PTNLA.cs +++ b/src/NmeaParser/Nmea/Trimble/PTNLA.cs @@ -12,7 +12,7 @@ // * limitations under the License. // ****************************************************************************** -namespace NmeaParser.Nmea.Trimble +namespace NmeaParser.Messages.Trimble { /// /// Laser Range Burden finder diff --git a/src/NmeaParser/Nmea/Trimble/PTNLB.cs b/src/NmeaParser/Nmea/Trimble/PTNLB.cs index 8e1d2b8..c31a2b9 100644 --- a/src/NmeaParser/Nmea/Trimble/PTNLB.cs +++ b/src/NmeaParser/Nmea/Trimble/PTNLB.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea.Trimble +namespace NmeaParser.Messages.Trimble { /// /// Laser Range Tree Measurement diff --git a/src/NmeaParser/Nmea/UnknownMessage.cs b/src/NmeaParser/Nmea/UnknownMessage.cs index f5a0d86..b25bf5f 100644 --- a/src/NmeaParser/Nmea/UnknownMessage.cs +++ b/src/NmeaParser/Nmea/UnknownMessage.cs @@ -14,7 +14,7 @@ using System.Collections.Generic; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Represents an unknown message type diff --git a/src/NmeaParser/Nmea/Vtg.cs b/src/NmeaParser/Nmea/Vtg.cs index bd3a776..3cc818a 100644 --- a/src/NmeaParser/Nmea/Vtg.cs +++ b/src/NmeaParser/Nmea/Vtg.cs @@ -14,7 +14,7 @@ using System; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Course over ground and ground speed diff --git a/src/NmeaParser/Nmea/Zda.cs b/src/NmeaParser/Nmea/Zda.cs index 89c9d0a..0d95eb1 100644 --- a/src/NmeaParser/Nmea/Zda.cs +++ b/src/NmeaParser/Nmea/Zda.cs @@ -15,7 +15,7 @@ using System; using System.Globalization; -namespace NmeaParser.Nmea +namespace NmeaParser.Messages { /// /// Date and time of fix diff --git a/src/NmeaParser/NmeaDevice.cs b/src/NmeaParser/NmeaDevice.cs index 8f20a95..d75f432 100644 --- a/src/NmeaParser/NmeaDevice.cs +++ b/src/NmeaParser/NmeaDevice.cs @@ -19,6 +19,7 @@ using System.Text; using System.Threading.Tasks; using System.IO; using System.Threading; +using NmeaParser.Messages; namespace NmeaParser { @@ -177,7 +178,7 @@ namespace NmeaParser { try { - var msg = NmeaParser.Nmea.NmeaMessage.Parse(p, _lastMultiMessage); + var msg = NmeaMessage.Parse(p, _lastMultiMessage); if(msg is IMultiSentenceMessage multi) { if (!multi.IsComplete) @@ -193,7 +194,7 @@ namespace NmeaParser catch { } } - private void OnMessageReceived(Nmea.NmeaMessage msg) + private void OnMessageReceived(NmeaMessage msg) { if (msg == null) return; @@ -272,7 +273,7 @@ namespace NmeaParser /// public sealed class NmeaMessageReceivedEventArgs : EventArgs { - internal NmeaMessageReceivedEventArgs(Nmea.NmeaMessage message) + internal NmeaMessageReceivedEventArgs(NmeaMessage message) { Message = message; } @@ -283,6 +284,6 @@ namespace NmeaParser /// /// The nmea message. /// - public Nmea.NmeaMessage Message { get; } + public NmeaMessage Message { get; } } } diff --git a/src/NmeaParser/Nmea/Talker.cs b/src/NmeaParser/Talker.cs similarity index 99% rename from src/NmeaParser/Nmea/Talker.cs rename to src/NmeaParser/Talker.cs index 7a18166..f70d77b 100644 --- a/src/NmeaParser/Nmea/Talker.cs +++ b/src/NmeaParser/Talker.cs @@ -14,7 +14,7 @@ using System.Collections.Generic; -namespace NmeaParser.Nmea +namespace NmeaParser { internal static class TalkerHelper { diff --git a/src/SampleApp.Droid/MainActivity.cs b/src/SampleApp.Droid/MainActivity.cs index 3aff1a8..5fafaab 100644 --- a/src/SampleApp.Droid/MainActivity.cs +++ b/src/SampleApp.Droid/MainActivity.cs @@ -8,7 +8,7 @@ using Android.Content.PM; using System; using System.Collections.Generic; using System.Linq; -using NmeaParser.Nmea; +using NmeaParser.Messages; namespace SampleApp.Droid { @@ -156,7 +156,7 @@ namespace SampleApp.Droid //Start(); } - Queue messages = new Queue(100); + Queue messages = new Queue(100); private void Listener_MessageReceived(object sender, NmeaParser.NmeaMessageReceivedEventArgs e) { var message = e.Message; diff --git a/src/SampleApp.WinDesktop/GpggaControl.xaml.cs b/src/SampleApp.WinDesktop/GpggaControl.xaml.cs index 9eaec0a..536ad40 100644 --- a/src/SampleApp.WinDesktop/GpggaControl.xaml.cs +++ b/src/SampleApp.WinDesktop/GpggaControl.xaml.cs @@ -1,4 +1,4 @@ -using NmeaParser.Nmea; +using NmeaParser.Messages; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/SampleApp.WinDesktop/GpgllControl.xaml.cs b/src/SampleApp.WinDesktop/GpgllControl.xaml.cs index 92fd640..eb08ea6 100644 --- a/src/SampleApp.WinDesktop/GpgllControl.xaml.cs +++ b/src/SampleApp.WinDesktop/GpgllControl.xaml.cs @@ -1,4 +1,4 @@ -using NmeaParser.Nmea; +using NmeaParser.Messages; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/SampleApp.WinDesktop/GpgsaControl.xaml.cs b/src/SampleApp.WinDesktop/GpgsaControl.xaml.cs index 239a8b9..b312e15 100644 --- a/src/SampleApp.WinDesktop/GpgsaControl.xaml.cs +++ b/src/SampleApp.WinDesktop/GpgsaControl.xaml.cs @@ -1,4 +1,4 @@ -using NmeaParser.Nmea; +using NmeaParser.Messages; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/SampleApp.WinDesktop/GprmcControl.xaml.cs b/src/SampleApp.WinDesktop/GprmcControl.xaml.cs index b1b579f..c6f7d00 100644 --- a/src/SampleApp.WinDesktop/GprmcControl.xaml.cs +++ b/src/SampleApp.WinDesktop/GprmcControl.xaml.cs @@ -1,4 +1,4 @@ -using NmeaParser.Nmea; +using NmeaParser.Messages; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/SampleApp.WinDesktop/MainWindow.xaml.cs b/src/SampleApp.WinDesktop/MainWindow.xaml.cs index 352f5fb..8dc0c3f 100644 --- a/src/SampleApp.WinDesktop/MainWindow.xaml.cs +++ b/src/SampleApp.WinDesktop/MainWindow.xaml.cs @@ -93,20 +93,20 @@ namespace SampleApp.WinDesktop output.Text = string.Join("\n", messages.ToArray()); output.Select(output.Text.Length - 1, 0); //scroll to bottom - if (args.Message is NmeaParser.Nmea.Gsv gpgsv) + if (args.Message is NmeaParser.Messages.Gsv gpgsv) { satView.GsvMessage = gpgsv; } - else if (args.Message is NmeaParser.Nmea.Rmc) - gprmcView.Message = args.Message as NmeaParser.Nmea.Rmc; - else if (args.Message is NmeaParser.Nmea.Gga) - gpggaView.Message = args.Message as NmeaParser.Nmea.Gga; - else if (args.Message is NmeaParser.Nmea.Gsa) - gpgsaView.Message = args.Message as NmeaParser.Nmea.Gsa; - else if (args.Message is NmeaParser.Nmea.Gll) - gpgllView.Message = args.Message as NmeaParser.Nmea.Gll; - else if (args.Message is NmeaParser.Nmea.Garmin.Pgrme) - pgrmeView.Message = args.Message as NmeaParser.Nmea.Garmin.Pgrme; + else if (args.Message is NmeaParser.Messages.Rmc) + gprmcView.Message = args.Message as NmeaParser.Messages.Rmc; + else if (args.Message is NmeaParser.Messages.Gga) + gpggaView.Message = args.Message as NmeaParser.Messages.Gga; + else if (args.Message is NmeaParser.Messages.Gsa) + gpgsaView.Message = args.Message as NmeaParser.Messages.Gsa; + else if (args.Message is NmeaParser.Messages.Gll) + gpgllView.Message = args.Message as NmeaParser.Messages.Gll; + else if (args.Message is NmeaParser.Messages.Garmin.Pgrme) + pgrmeView.Message = args.Message as NmeaParser.Messages.Garmin.Pgrme; else { var ctrl = MessagePanel.Children.OfType().Where(c => c.Message.MessageType == args.Message.MessageType).FirstOrDefault(); diff --git a/src/SampleApp.WinDesktop/PgrmeControl.xaml.cs b/src/SampleApp.WinDesktop/PgrmeControl.xaml.cs index af78041..1116cb1 100644 --- a/src/SampleApp.WinDesktop/PgrmeControl.xaml.cs +++ b/src/SampleApp.WinDesktop/PgrmeControl.xaml.cs @@ -1,4 +1,4 @@ -using NmeaParser.Nmea.Garmin; +using NmeaParser.Messages.Garmin; using System; using System.Collections.Generic; using System.Linq; diff --git a/src/SampleApp.WinDesktop/SatelliteSnr.xaml.cs b/src/SampleApp.WinDesktop/SatelliteSnr.xaml.cs index a241b46..f8b9ab2 100644 --- a/src/SampleApp.WinDesktop/SatelliteSnr.xaml.cs +++ b/src/SampleApp.WinDesktop/SatelliteSnr.xaml.cs @@ -25,18 +25,18 @@ namespace SampleApp.WinDesktop InitializeComponent(); } - public NmeaParser.Nmea.Gsv GsvMessage + public NmeaParser.Messages.Gsv GsvMessage { - get { return (NmeaParser.Nmea.Gsv)GetValue(GsvMessageProperty); } + get { return (NmeaParser.Messages.Gsv)GetValue(GsvMessageProperty); } set { SetValue(GsvMessageProperty, value); } } public static readonly DependencyProperty GsvMessageProperty = - DependencyProperty.Register(nameof(GsvMessage), typeof(NmeaParser.Nmea.Gsv), typeof(SatelliteSnr), new PropertyMetadata(null, OnGpgsvMessagePropertyChanged)); + DependencyProperty.Register(nameof(GsvMessage), typeof(NmeaParser.Messages.Gsv), typeof(SatelliteSnr), new PropertyMetadata(null, OnGpgsvMessagePropertyChanged)); private static void OnGpgsvMessagePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { - var gsv = e.NewValue as NmeaParser.Nmea.Gsv; + var gsv = e.NewValue as NmeaParser.Messages.Gsv; if (gsv == null) (d as SatelliteSnr).satellites.ItemsSource = null; else diff --git a/src/SampleApp.WinDesktop/SatelliteView.xaml.cs b/src/SampleApp.WinDesktop/SatelliteView.xaml.cs index 9b1705c..487d472 100644 --- a/src/SampleApp.WinDesktop/SatelliteView.xaml.cs +++ b/src/SampleApp.WinDesktop/SatelliteView.xaml.cs @@ -13,6 +13,8 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; +using NmeaParser; +using NmeaParser.Messages; namespace SampleApp.WinDesktop { @@ -26,18 +28,18 @@ namespace SampleApp.WinDesktop InitializeComponent(); } - public NmeaParser.Nmea.Gsv GsvMessage + public Gsv GsvMessage { - get { return (NmeaParser.Nmea.Gsv)GetValue(GsvMessageProperty); } + get { return (Gsv)GetValue(GsvMessageProperty); } set { SetValue(GsvMessageProperty, value); } } public static readonly DependencyProperty GsvMessageProperty = - DependencyProperty.Register(nameof(GsvMessage), typeof(NmeaParser.Nmea.Gsv), typeof(SatelliteView), new PropertyMetadata(null, OnGsvMessagePropertyChanged)); + DependencyProperty.Register(nameof(GsvMessage), typeof(Gsv), typeof(SatelliteView), new PropertyMetadata(null, OnGsvMessagePropertyChanged)); private static void OnGsvMessagePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { - var gsv = e.NewValue as NmeaParser.Nmea.Gsv; + var gsv = e.NewValue as Gsv; if (gsv == null) (d as SatelliteView).satellites.ItemsSource = null; else @@ -98,15 +100,15 @@ namespace SampleApp.WinDesktop { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - if (value is NmeaParser.Nmea.SatelliteVehicle sv) + if (value is SatelliteVehicle sv) { byte alpha = (byte)(sv.SignalToNoiseRatio <= 0 ? 80 : 255); switch (sv.TalkerId) { - case NmeaParser.Nmea.Talker.GlobalPositioningSystem: return Color.FromArgb(alpha, 255, 0, 0); - case NmeaParser.Nmea.Talker.GalileoPositioningSystem: return Color.FromArgb(alpha, 0, 255, 0); - case NmeaParser.Nmea.Talker.GlonassReceiver: return Color.FromArgb(255, 0, 0, alpha); - case NmeaParser.Nmea.Talker.GlobalNavigationSatelliteSystem: return Color.FromArgb(alpha, 0, 0, 0); + case Talker.GlobalPositioningSystem: return Color.FromArgb(alpha, 255, 0, 0); + case Talker.GalileoPositioningSystem: return Color.FromArgb(alpha, 0, 255, 0); + case Talker.GlonassReceiver: return Color.FromArgb(255, 0, 0, alpha); + case Talker.GlobalNavigationSatelliteSystem: return Color.FromArgb(alpha, 0, 0, 0); default: return Colors.CornflowerBlue; } } diff --git a/src/SampleApp.WinDesktop/UnknownMessageControl.xaml.cs b/src/SampleApp.WinDesktop/UnknownMessageControl.xaml.cs index 2cc76a3..af54a6e 100644 --- a/src/SampleApp.WinDesktop/UnknownMessageControl.xaml.cs +++ b/src/SampleApp.WinDesktop/UnknownMessageControl.xaml.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Media; -using NmeaParser.Nmea; +using NmeaParser.Messages; namespace SampleApp.WinDesktop { diff --git a/src/UnitTests/NmeaParser.Tests/DeviceTests.cs b/src/UnitTests/NmeaParser.Tests/DeviceTests.cs index 40df7cc..70b225a 100644 --- a/src/UnitTests/NmeaParser.Tests/DeviceTests.cs +++ b/src/UnitTests/NmeaParser.Tests/DeviceTests.cs @@ -1,5 +1,5 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using NmeaParser.Nmea; +using NmeaParser.Messages; using System; using System.Collections.Generic; using System.Linq; @@ -26,7 +26,7 @@ namespace NmeaParser.Tests try { Assert.IsInstanceOfType(e.Message, typeof(Gsv)); - var msg = (NmeaParser.Nmea.Gsv)e.Message; + var msg = (NmeaParser.Messages.Gsv)e.Message; Assert.IsTrue(((IMultiSentenceMessage)e.Message).IsComplete); Assert.AreEqual(9, msg.SatellitesInView); Assert.AreEqual(9, msg.SVs.Count); @@ -61,9 +61,9 @@ $GAGSV,4,4,14,19,82,349,40,1,44,220,40,4,24,314,38*5F"; { try { - Assert.IsInstanceOfType(e.Message, typeof(NmeaParser.Nmea.Gsv)); + Assert.IsInstanceOfType(e.Message, typeof(Gsv)); Assert.AreEqual(Talker.Multiple, e.Message.TalkerId); - var msg = (NmeaParser.Nmea.Gsv)e.Message; + var msg = (Gsv)e.Message; Assert.AreEqual(Talker.GlobalPositioningSystem, msg.SVs[0].TalkerId); Assert.AreEqual(Talker.GlobalPositioningSystem, msg.SVs[4].TalkerId); Assert.AreEqual(Talker.GlonassReceiver, msg.SVs[8].TalkerId); diff --git a/src/UnitTests/NmeaParser.Tests/NmeaMessages.cs b/src/UnitTests/NmeaParser.Tests/NmeaMessages.cs index 182d62f..fd187e7 100644 --- a/src/UnitTests/NmeaParser.Tests/NmeaMessages.cs +++ b/src/UnitTests/NmeaParser.Tests/NmeaMessages.cs @@ -18,7 +18,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; -using NmeaParser.Nmea; +using NmeaParser.Messages; using System.Threading.Tasks; using System.IO; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -58,7 +58,7 @@ namespace NmeaParser.Tests byte checksum = (byte)Convert.ToInt32(line.Substring(idx + 1), 16); Assert.AreEqual(checksum, msg.Checksum); } - Assert.IsNotInstanceOfType(msg, typeof(Nmea.UnknownMessage), "Type " + msg.MessageType + " not supported"); + Assert.IsNotInstanceOfType(msg, typeof(UnknownMessage), "Type " + msg.MessageType + " not supported"); } } } @@ -93,7 +93,7 @@ namespace NmeaParser.Tests } if (msg.MessageType == "PTNL" || msg.MessageType == "GNVTG" || msg.MessageType == "GNZDA") continue; //TODO - Assert.IsNotInstanceOfType(msg, typeof(Nmea.UnknownMessage), "Type " + msg.MessageType + " not supported"); + Assert.IsNotInstanceOfType(msg, typeof(UnknownMessage), "Type " + msg.MessageType + " not supported"); } } } @@ -193,7 +193,7 @@ namespace NmeaParser.Tests Assert.AreEqual(new TimeSpan(23, 52, 36), gga.FixTime); Assert.AreEqual(39.432465, gga.Latitude); Assert.AreEqual(-119.7653516666666667, gga.Longitude, 0.0000000001); - Assert.AreEqual(NmeaParser.Nmea.Gga.FixQuality.GpsFix, gga.Quality); + Assert.AreEqual(Gga.FixQuality.GpsFix, gga.Quality); Assert.AreEqual(10, gga.NumberOfSatellites); Assert.AreEqual(.8, gga.Hdop); Assert.AreEqual(1378, gga.Altitude); @@ -214,7 +214,7 @@ namespace NmeaParser.Tests Assert.AreEqual(new TimeSpan(23, 10, 11), gga.FixTime); Assert.AreEqual(34.057860634, gga.Latitude); Assert.AreEqual(-117.19682109916667, gga.Longitude, 0.0000000001); - Assert.AreEqual(NmeaParser.Nmea.Gga.FixQuality.FloatRtk, gga.Quality); + Assert.AreEqual(Gga.FixQuality.FloatRtk, gga.Quality); Assert.AreEqual(13, gga.NumberOfSatellites); Assert.AreEqual(.9, gga.Hdop); Assert.AreEqual(403.641, gga.Altitude); @@ -230,9 +230,9 @@ namespace NmeaParser.Tests { string input = "$PTNLA,HV,002.94,M,288.1,D,008.6,D,002.98,M*74"; var msg = NmeaMessage.Parse(input); - Assert.IsInstanceOfType(msg, typeof(NmeaParser.Nmea.Trimble.Ptnla)); + Assert.IsInstanceOfType(msg, typeof(NmeaParser.Messages.Trimble.Ptnla)); Assert.AreEqual(Talker.ProprietaryCode, msg.TalkerId); - NmeaParser.Nmea.Trimble.Ptnla ptlna = (NmeaParser.Nmea.Trimble.Ptnla)msg; + NmeaParser.Messages.Trimble.Ptnla ptlna = (NmeaParser.Messages.Trimble.Ptnla)msg; Assert.AreEqual(2.94, ptlna.HorizontalDistance); Assert.AreEqual('M', ptlna.HorizontalDistanceUnits); Assert.AreEqual(288.1, ptlna.HorizontalAngle); @@ -248,9 +248,9 @@ namespace NmeaParser.Tests { string input = "$PGRME,2.3,M,3.3,M,4.0,M*2B"; var msg = NmeaMessage.Parse(input); - Assert.IsInstanceOfType(msg, typeof(NmeaParser.Nmea.Garmin.Pgrme)); + Assert.IsInstanceOfType(msg, typeof(NmeaParser.Messages.Garmin.Pgrme)); Assert.AreEqual(Talker.ProprietaryCode, msg.TalkerId); - NmeaParser.Nmea.Garmin.Pgrme rme = (NmeaParser.Nmea.Garmin.Pgrme)msg; + NmeaParser.Messages.Garmin.Pgrme rme = (NmeaParser.Messages.Garmin.Pgrme)msg; Assert.AreEqual(2.3, rme.HorizontalError); Assert.AreEqual("M", rme.HorizontalErrorUnits); Assert.AreEqual(3.3, rme.VerticalError); @@ -686,11 +686,11 @@ namespace NmeaParser.Tests { string input = "$PGRMZ,,,*7E"; var msg = NmeaMessage.Parse(input); - Assert.IsInstanceOfType(msg, typeof(NmeaParser.Nmea.Garmin.Pgrmz)); - var rmz = (NmeaParser.Nmea.Garmin.Pgrmz)msg; + Assert.IsInstanceOfType(msg, typeof(NmeaParser.Messages.Garmin.Pgrmz)); + var rmz = (NmeaParser.Messages.Garmin.Pgrmz)msg; Assert.AreEqual(double.NaN, rmz.Altitude, "Altitude"); - Assert.AreEqual(NmeaParser.Nmea.Garmin.Pgrmz.AltitudeUnit.Unknown, rmz.Unit, "Unit"); - Assert.AreEqual(NmeaParser.Nmea.Garmin.Pgrmz.PositionFixType.Unknown, rmz.FixType, "FixDimension"); + Assert.AreEqual(NmeaParser.Messages.Garmin.Pgrmz.AltitudeUnit.Unknown, rmz.Unit, "Unit"); + Assert.AreEqual(NmeaParser.Messages.Garmin.Pgrmz.PositionFixType.Unknown, rmz.FixType, "FixDimension"); } [TestMethod] @@ -698,11 +698,11 @@ namespace NmeaParser.Tests { string input = "$PGRMZ,93,f,3*21"; var msg = NmeaMessage.Parse(input); - Assert.IsInstanceOfType(msg, typeof(NmeaParser.Nmea.Garmin.Pgrmz)); - var rmz = (NmeaParser.Nmea.Garmin.Pgrmz)msg; + Assert.IsInstanceOfType(msg, typeof(NmeaParser.Messages.Garmin.Pgrmz)); + var rmz = (NmeaParser.Messages.Garmin.Pgrmz)msg; Assert.AreEqual(93d, rmz.Altitude, "Altitude"); - Assert.AreEqual(NmeaParser.Nmea.Garmin.Pgrmz.AltitudeUnit.Feet, rmz.Unit, "Unit"); - Assert.AreEqual(NmeaParser.Nmea.Garmin.Pgrmz.PositionFixType.Fix3D, rmz.FixType, "FixDimension"); + Assert.AreEqual(NmeaParser.Messages.Garmin.Pgrmz.AltitudeUnit.Feet, rmz.Unit, "Unit"); + Assert.AreEqual(NmeaParser.Messages.Garmin.Pgrmz.PositionFixType.Fix3D, rmz.FixType, "FixDimension"); } [TestMethod] @@ -846,7 +846,7 @@ namespace NmeaParser.Tests Assert.AreEqual(8, cmsg.Values.Count); } - [Nmea.NmeaMessageType("PTEST")] + [NmeaMessageType("PTEST")] private class CustomMessage : NmeaMessage { public CustomMessage(string type, string[] parameters) : base(type, parameters)