public void OnTransponderDataReady(object sender, RawTransponderDataEventArgs e) { DataRecivedList = e.TransponderData; List <TrackDataContainer> tdcList = new List <TrackDataContainer>(); foreach (var data in e.TransponderData) { string[] inputFields; TrackDataContainer _tdc = new TrackDataContainer(); inputFields = data.Split(';'); _tdc.Tag = Convert.ToString(inputFields[0]); _tdc.X = Convert.ToInt32(inputFields[1]); _tdc.Y = Convert.ToInt32(inputFields[2]); _tdc.Altitude = Convert.ToInt32(inputFields[3]); _tdc.Timestamp = DateTime.ParseExact(inputFields[4], "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); tdcList.Add(_tdc); } if (tdcList.Count != 0) { ATMEvent atmEvent = new ATMEvent(tdcList); DataDecoded?.Invoke(this, atmEvent); } }
public void OnCourseCalculated(object sender, ATMEvent e) { TrackDataRecivedList = new List <TrackDataContainer>(); TrackDataRecivedList = e._tdcList; foreach (var data in TrackDataRecivedList) { Console.WriteLine("Tag: " + data.Tag + " - Position: X: " + data.X + " meters, Y: " + data.Y + " meters - Current altitude: " + data.Altitude + " meters\nVelocity: " + data.Velocity + " m/s - Course: " + data.Course + "degrees from north - " + "Timestamp: " + data.Timestamp + ":" + data.Timestamp.Millisecond + "\n"); } }
public void OnCourseCalculated(object sender, ATMEvent e) { List <SeperationContainer> calculatedList = new List <SeperationContainer>(); DataRecivedList = new List <TrackDataContainer>(); DataRecivedList = e._tdcList; calculatedList = CheckSeperation(DataRecivedList); SeperationEvent seperationEvent = new SeperationEvent(calculatedList); SeperationChecked?.Invoke(this, seperationEvent); }
public void OnVelocityCalculated(object sender, ATMEvent e) { List <TrackDataContainer> trackList = new List <TrackDataContainer>(); CurrentFlightData = new List <TrackDataContainer>(); CurrentFlightData = e._tdcList; trackList = Calculate(CurrentFlightData); LastFlightData = CurrentFlightData; ATMEvent atmEvent = new ATMEvent(trackList); CourseCalculated?.Invoke(this, atmEvent); }
public void OnDataDecoded(object sender, ATMEvent e) { DataRecivedList = new List <TrackDataContainer>(); DataRecivedList = e._tdcList; List <TrackDataContainer> tdcList = new List <TrackDataContainer>(); tdcList = SortData(DataRecivedList); if (tdcList.Count != 0) { ATMEvent atmEvent = new ATMEvent(tdcList); DataSorted?.Invoke(this, atmEvent); } }