Example #1
0
 private void SetState(Config.ProbeState state)
 {
     PreviousState = State;
     if (PreviousState != state || StateChangedTime <= 0)
     {
         StateChangedTime = Program.CurrentTime;
     }
     _state = state;
 }
Example #2
0
        private Config.ProbeState GetState()
        {
            PreviousState = _state;

            if (!HasTemp())
            {
                _state = Config.ProbeState.Unavailable;
                return(_state);
            }

            if (IsTargetReached())
            {
                if (_state != Config.ProbeState.TargetReached)
                {
                    _state = Config.ProbeState.TargetReached;
                }

                if (PreviousState != Config.ProbeState.TargetReached)
                {
                    TargetReachedTimes.Add(Program.CurrentTime);
                    TargetReachedTimespans.Push(0);
                }
                else
                {
                    var timespan = (int)TargetReachedTimespans.Pop();
                    timespan = (int)(Program.CurrentTime - StateChangedTime);
                    TargetReachedTimespans.Push(timespan);
                }
            }
            else
            {
                if (_state != Config.ProbeState.SeekingTarget)
                {
                    _state = Config.ProbeState.SeekingTarget;
                }
            }

            return(_state);
        }
Example #3
0
 private void SetState(Config.ProbeState state)
 {
     PreviousState = State;
     if (PreviousState != state || StateChangedTime <= 0)
         StateChangedTime = Program.CurrentTime;
     _state = state;
 }
Example #4
0
        private Config.ProbeState GetState()
        {
            PreviousState = _state;

            if (!HasTemp())
            {
                _state = Config.ProbeState.Unavailable;
                return _state;
            }

            if (IsTargetReached())
            {
                if (_state != Config.ProbeState.TargetReached)
                    _state = Config.ProbeState.TargetReached;

                if (PreviousState != Config.ProbeState.TargetReached)
                {
                    TargetReachedTimes.Add(Program.CurrentTime);
                    TargetReachedTimespans.Push(0);
                }
                else
                {
                    var timespan = (int)TargetReachedTimespans.Pop();
                    timespan = (int)(Program.CurrentTime - StateChangedTime);
                    TargetReachedTimespans.Push(timespan);
                }
            }
            else
            {
                if (_state != Config.ProbeState.SeekingTarget)
                    _state = Config.ProbeState.SeekingTarget;
            }

            return _state;
        }