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);
        }
Ejemplo n.º 5
0
        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);
            }
        }