FlyADClientUI.cs 1.62 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Misc;
using System.Windows.Threading;

using FLY.Simulation.Flyad7;
namespace FLYAD7.Simulation.Battery.RayLaser
{
    public class FlyADClientUI : INotifyPropertyChanged
    {
        public int Position { get; set; }


        public int Speed { get; set; }



        public int Position2 { get; set; }

        public int Speed2 { get; set; }


        public int AD { get; set; }

        public UInt16 IStatus { get; set; }

        public UInt16 OStatus { get; set; } = 0xf;



        public double TimeSpan1ms { get; set; }


        public int Surplus { get; set; } = 8000;

        private DispatcherTimer timer = new DispatcherTimer();
        private FLY.Simulation.Flyad7.FLYAD7 flyad;
        public FlyADClientUI(FLY.Simulation.Flyad7.FLYAD7 flyad)
        {
            Init(flyad);
        }
        void Init(FLY.Simulation.Flyad7.FLYAD7 flyad)
        {
            this.flyad = flyad;
            timer.Interval = TimeSpan.FromSeconds(0.1);
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();
        }

        void timer_Tick(object sender, EventArgs e)
        {
            Position = flyad.Position;
            Position2 = flyad.Position2;
            AD = flyad.AD;
            Speed = flyad.Speed;
            Speed2 = flyad.Speed2;
            TimeSpan1ms = flyad.TimeSpan1ms;
            IStatus = flyad.IStatus;
            OStatus = flyad.OStatus;
            Surplus = flyad.Surplus;
        }
        public event PropertyChangedEventHandler PropertyChanged;
    }
}