Beispiel #1
0
        private void GNSS_RMCSentenceReceived(object sender, RMCMessageEventArgs e)
        {
            AUXGNSSTimeoutTS = 0;
            AUXGNSSTimeout   = false;

            if (e.IsValid)
            {
                AUXLatitude.Value  = e.Latitude;
                AUXLongitude.Value = e.Longitude;
                if (!double.IsNaN(e.TrackTrue))
                {
                    AUXTrack.Value = e.TrackTrue;
                }
                if (!double.IsNaN(e.SpeedKmh))
                {
                    AUXSpeed.Value = e.SpeedKmh;
                }

                gnssTimeFix        = e.TimeFix;
                gnssTimeFixLocalTS = DateTime.Now;

                UpdateDistanceToTarget();

                LocationUpdatedEvent.Rise(this, new LocationUpdatedEventArgs("AUX GNSS", e.Latitude, e.Longitude, 0.0, true, e.TimeFix));
                OnSystemUpdate();
            }
        }
Beispiel #2
0
        private void nmeaListener_RMCSentenceReceivedHandler(object sender, RMCMessageEventArgs e)
        {
            if (e.IsValid)
            {
                if (isPrimaryGNSS_Set && (e.SourceID == primaryGNSS_SourceID))
                {
                    primaryGNSSFixRMC.Value = e;
                    primaryGNSSFixLocalTS   = DateTime.Now;

                    if (targetFix.IsInitialized)
                    {
                        UpdateTargetRelativeData();
                    }

                    SystemUpdate();
                }

                TrackUpdateHandler.Rise(this,
                                        new TrackUpdateEventArgs(portDescrByHash[e.SourceID],
                                                                 new GeoPoint3DETm(e.Latitude, e.Longitude, double.NaN, double.NaN, e.TimeFix), e.TrackTrue));
            }
        }