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); } } }
public ADSBMessageBase ParseMessage(ADSBMessageBase Message) { ADSBIdentificationMessage TmpMessage = (ADSBIdentificationMessage)Message; TmpMessage.EmitterCategory = ParseEmmiterCategory(Message.Payload); TmpMessage.AircraftID = ParseAircraftID(Message.Payload); return(TmpMessage); }
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); }
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); }
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); }
private void BuildBaseMessage(string message, ref ADSBMessageBase baseMsg) { baseMsg.ICAO = parser.ParseIcao(message); baseMsg.Timestamp = parser.ParseTimestamp(message); baseMsg.Payload = parser.ParsePayload(message).ToBin(); }