Exemple #1
0
        public void Update()
        {
            if (IsConntected)
            {
                string msg = messageService.PopRawMessage();

                if (msg != string.Empty)
                {
                    ADSBMessageBase parsedMessage = messageBuilder.BuildMessage(msg);
                    if (parsedMessage == null)
                    {
                        return;
                    }

                    if (!Planes.ContainsKey(parsedMessage.ICAO))
                    {
                        Planes.Add(parsedMessage.ICAO, new Plane(parsedMessage.ICAO));
                    }

                    //Console.WriteLine(parsedMessage.ToString());


                    Planes[parsedMessage.ICAO].addMessageToPlane(parsedMessage);
                }
            }
        }
Exemple #2
0
        public ADSBMessageBase ParseMessage(ADSBMessageBase Message)
        {
            ADSBIdentificationMessage TmpMessage = (ADSBIdentificationMessage)Message;

            TmpMessage.EmitterCategory = ParseEmmiterCategory(Message.Payload);
            TmpMessage.AircraftID      = ParseAircraftID(Message.Payload);

            return(TmpMessage);
        }
Exemple #3
0
        public ADSBMessageBase BuildIdentificationMessage(string message)
        {
            ADSBIdentificationMessage msg     = new ADSBIdentificationMessage();
            ADSBMessageBase           baseMsg = msg as ADSBMessageBase;

            BuildBaseMessage(message, ref baseMsg);
            baseMsg        = payloadParserIdentification.ParseMessage(baseMsg);
            msg            = baseMsg as ADSBIdentificationMessage;
            msg.TypeSimple = ADSBMessagetype.Identification;

            return(msg);
        }
Exemple #4
0
        private ADSBMessageBase BuildVelocityMessage(string message)
        {
            ADSBVelocityMessage msg     = new ADSBVelocityMessage();
            ADSBMessageBase     baseMsg = msg as ADSBMessageBase;

            BuildBaseMessage(message, ref baseMsg);
            baseMsg        = payloadParserVelocity.ParseMessage(baseMsg);
            msg            = baseMsg as ADSBVelocityMessage;
            msg.TypeSimple = ADSBMessagetype.Velocity;

            return(msg);
        }
Exemple #5
0
        private ADSBMessageBase BuildPositionMessage(string message)
        {
            ADSBPositionMessage msg     = new ADSBPositionMessage();
            ADSBMessageBase     baseMsg = msg as ADSBMessageBase;

            BuildBaseMessage(message, ref baseMsg);
            baseMsg        = payloadParserPosition.ParseMessage(baseMsg);
            msg            = baseMsg as ADSBPositionMessage;
            msg.TypeSimple = ADSBMessagetype.Position;



            return(msg);
        }
        public ADSBMessageBase ParseMessage(ADSBMessageBase message)
        {
            ADSBPositionMessage tmpMessage = (ADSBPositionMessage)message;

            tmpMessage.Altitude           = ParseAltitude(message.Payload);
            tmpMessage.SurveillanceStatus = ParseSurveillanceStatus(message.Payload);
            tmpMessage.NicSupplement      = ParseNicSupplement(message.Payload);
            tmpMessage.TimeFlag           = ParseTimeFlag(message.Payload);
            tmpMessage.CprFormate         = ParseCprFormate(message.Payload);
            tmpMessage.CprLatitude        = ParseCprLatitude(message.Payload);
            tmpMessage.CprLongitude       = ParseCprLongitude(message.Payload);

            return(tmpMessage);
        }
        public ADSBMessageBase ParseMessage(ADSBMessageBase message)
        {
            ADSBVelocityMessage tmpMessage = (ADSBVelocityMessage)message;

            tmpMessage.Subtype            = ParseSubtype(message.Payload);
            tmpMessage.IntentChange       = ParseIntentChange(message.Payload);
            tmpMessage.ReservedA          = ParseReservedA(message.Payload);
            tmpMessage.NavigationAccuracy = ParseNaviagationAccuracy(message.Payload);
            tmpMessage.Speed              = ParseSpeed(message.Payload);
            tmpMessage.Heading            = ParseHeading(message.Payload);
            tmpMessage.VerticalRateSource = ParseVerticalRateSource(message.Payload);
            tmpMessage.VerticalSpeed      = ParseVerticalSpeed(message.Payload);

            return(tmpMessage);
        }
Exemple #8
0
 private void BuildBaseMessage(string message, ref ADSBMessageBase baseMsg)
 {
     baseMsg.ICAO      = parser.ParseIcao(message);
     baseMsg.Timestamp = parser.ParseTimestamp(message);
     baseMsg.Payload   = parser.ParsePayload(message).ToBin();
 }