FlyADClientUI.cs 4.04 KB
Newer Older
潘栩锋's avatar
潘栩锋 committed
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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
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_Wpf
{
    public class FlyADClientUI : INotifyPropertyChanged
    {
        private int position;
        public int Position
        {
            get { return position; }
            set
            {
                if (position != value)
                {
                    position = value;
                    PropertyChanged.Notify(this, "Position");
                }
            }
        }
        private int speed;
        public int Speed
        {
            get { return speed; }
            set
            {
                if (speed != value)
                {
                    speed = value;
                    PropertyChanged.Notify(this, "Speed");
                }
            }
        }

        private int position2;
        public int Position2
        {
            get { return position2; }
            set
            {
                if (position2 != value)
                {
                    position = value;
                    PropertyChanged.Notify(this, "Position2");
                }
            }
        }
        private int speed2;
        public int Speed2
        {
            get { return speed2; }
            set
            {
                if (speed2 != value)
                {
                    speed = value;
                    PropertyChanged.Notify(this, "Speed2");
                }
            }
        }

        private int ad;
        public int AD
        {
            get { return ad; }
            set
            {
                if (ad != value)
                {
                    ad = value;
                    PropertyChanged.Notify(this, "AD");
                }
            }
        }

        private UInt16 istatus;
        public UInt16 IStatus
        {
            get { return istatus; }
            set
            {
                if (istatus != value)
                {
                    istatus = value;
                    PropertyChanged.Notify(this, "IStatus");
                }
            }
        }

        private UInt16 ostatus = 0xf;
        public UInt16 OStatus
        {
            get { return ostatus; }
            set
            {
                if (ostatus != value)
                {
                    ostatus = value;
                    PropertyChanged.Notify(this, "OStatus");
                }
            }
        }

        private double timespan1ms;
        public double TimeSpan1ms
        {
            get { return timespan1ms; }
            set
            {
                if (timespan1ms != value)
                {
                    timespan1ms = value;
                    PropertyChanged.Notify(this, "TimeSpan1ms");
                }
            }
        }
        int surplus = 8000;
        public int Surplus
        {
            get { return surplus; }
            set
            {
                if (surplus != value)
                {
                    surplus = value;
                    PropertyChanged.Notify(this, "Surplus");
                }
            }
        }
        private DispatcherTimer timer = new DispatcherTimer();
        private FLYAD7 flyad;
        public FlyADClientUI(FLYAD7 flyad)
        {
            Init(flyad);
        }
        void Init(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;
    }
}