Пример #1
0
        private void HandleVtg(VtgStandardGpsMessage message, DateTime systemReceivedUtcDateTime)
        {
            LatestMovement = new MovementData(
                AdjustSystemUtc(systemReceivedUtcDateTime),
                message.CourseOverGround,
                message.SpeedInKnots,
                message.SpeedInKmPerH,
                message.PositioningMode);

            OnMovementData?.Invoke(this, new MovementDataEventArgs(LatestMovement));
        }
        public static bool TryConvertToStandardGpsMessage(GpsMessage message, out StandardGpsMessage standardGpsMessage)
        {
            switch (message.MessageId)
            {
            case "GPRMC":
                standardGpsMessage = new RmcStandardGpsMessage(message);
                return(true);

            case "GPVTG":
                standardGpsMessage = new VtgStandardGpsMessage(message);
                return(true);

            case "GPGGA":
                standardGpsMessage = new GgaStandardGpsMessage(message);
                return(true);

            case "GPGSA":
                standardGpsMessage = new GsaStandardGpsMessage(message);
                return(true);

            case "GPGSV":
                standardGpsMessage = new GsvStandardGpsMessage(message);
                return(true);

            case "GPGLL":
                standardGpsMessage = new GllStandardGpsMessage(message);
                return(true);

            case "GPTXT":
                standardGpsMessage = new TxtStandardGpsMessage(message);
                return(true);
            }

            standardGpsMessage = null;
            return(false);
        }