Пример #1
0
 public void ArmTwoWay()
 {
     if (EOTState == EOTstate.ArmNow)
     {
         EOTState = EOTstate.ArmedTwoWay;
     }
 }
Пример #2
0
 public EOT(Simulator simulator, string wagPath)
     : base(simulator, wagPath)
 {
     EOTState   = EOTstate.Disarmed;
     ID         = IDRandom.Next(0, 99999);
     DelayTimer = new Timer(this);
 }
Пример #3
0
        public override void Restore(BinaryReader inf)
        {
            ID         = inf.ReadInt32();
            EOTState   = (EOTstate)(inf.ReadInt32());
            DelayTimer = new Timer(this);
            switch (EOTState)
            {
            case EOTstate.CommTestOn:
                // restart timer
                DelayTimer.Setup(CommTestDelayS);
                DelayTimer.Start();
                break;

            case EOTstate.LocalTestOn:
                // restart timer
                DelayTimer.Setup(LocalTestDelayS);
                DelayTimer.Start();
                break;

            default:
                break;
            }
            base.Restore(inf);
            if (Train != null)
            {
                Train.EOT = this;
            }
        }
Пример #4
0
 public void CommTest()
 {
     if (EOTState == EOTstate.Disarmed &&
         (EOTLevel == EOTLevel.OneWay || EOTLevel == EOTLevel.TwoWay))
     {
         if (DelayTimer == null)
         {
             DelayTimer = new Timer(this);
         }
         DelayTimer.Setup(CommTestDelayS);
         EOTState = EOTstate.CommTestOn;
         DelayTimer.Start();
     }
 }
Пример #5
0
        public void InitializeLevel()
        {
            switch (EOTLevel)
            {
            case EOTLevel.OneWay:
                EOTState = EOTstate.Armed;
                break;

            case EOTLevel.TwoWay:
                EOTState = EOTstate.ArmedTwoWay;
                break;

            default:
                break;
            }
        }
Пример #6
0
        private void UpdateState()
        {
            switch (EOTState)
            {
            case EOTstate.Disarmed:
                break;

            case EOTstate.CommTestOn:
                if (DelayTimer.Triggered)
                {
                    DelayTimer.Stop();
                    EOTState = EOTstate.Armed;
                }
                break;

            case EOTstate.Armed:
                if (EOTLevel == EOTLevel.TwoWay)
                {
                    if (DelayTimer == null)
                    {
                        DelayTimer = new Timer(this);
                    }
                    DelayTimer.Setup(LocalTestDelayS);
                    EOTState = EOTstate.LocalTestOn;
                    DelayTimer.Start();
                }
                break;

            case EOTstate.LocalTestOn:
                if (DelayTimer.Triggered)
                {
                    DelayTimer.Stop();
                    EOTState = EOTstate.ArmNow;
                }
                break;

            case EOTstate.ArmNow:
                break;

            case EOTstate.ArmedTwoWay:
                break;
            }
        }
Пример #7
0
 public void Disarm()
 {
     EOTState = EOTstate.Disarmed;
 }