private void CheckStatementWithTwoSignals(SignalValueTimestamp newSignalValueTimestamp)
 {
     //Checks if it is the first or second signal that has been changed.
     if (newSignalValueTimestamp.Signal == base.Signal)
     {
         if (_oldCompareSignalValueTimestamp != null)
         {
             if (newSignalValueTimestamp.Value > _oldCompareSignalValueTimestamp.Value)
                 _isStatementTrue = true;
             else
                 _isStatementTrue = false;
         }
         _oldSignalValueTimestamp = newSignalValueTimestamp;
     }
     else if (newSignalValueTimestamp.Signal == base.CompareSignal)
     {
         if (_oldSignalValueTimestamp != null)
         {
             if (newSignalValueTimestamp.Value > _oldSignalValueTimestamp.Value)
                 _isStatementTrue = true;
             else
                 _isStatementTrue = false;
         }
         _oldCompareSignalValueTimestamp = newSignalValueTimestamp;
     }
 }
示例#2
0
        public override bool CheckStatement(SignalValueTimestamp newValue)
        {
            var isTrue = false;

            foreach (KeyValuePair <Statement, LogicalOperators> keyValuePair in _statementAndLogicalOperators)
            {
                switch (keyValuePair.Value)
                {
                case LogicalOperators.And:
                    isTrue = isTrue && keyValuePair.Key.CheckStatement(newValue);
                    break;

                case LogicalOperators.Or:
                    isTrue = isTrue || keyValuePair.Key.CheckStatement(newValue);
                    break;

                case LogicalOperators.First:
                    isTrue = keyValuePair.Key.CheckStatement(newValue);
                    break;

                default:
                    break;
                }
            }

            return(isTrue);
        }
        public override bool CheckStatement(SignalValueTimestamp newSignalValueTimestamp)
        {
            switch (base.CompareTo)
            {
            case LogialAnalyzerTrigger.Statement.CompareTo.SignalValue:
                CheckStatementWithTwoSignals(newSignalValueTimestamp);
                break;

            case LogialAnalyzerTrigger.Statement.CompareTo.StaticVariable:
                if (base.Signal == newSignalValueTimestamp.Signal)
                {
                    if (newSignalValueTimestamp.Value == base.CompareVariable)
                    {
                        _isStatementTrue = true;
                    }
                    else
                    {
                        _isStatementTrue = false;
                    }
                }
                break;

            default:
                throw new Exception("Compare option not set");
            }
            return(_isStatementTrue);
        }
 private void CheckStatementWithTwoSignals(SignalValueTimestamp newSignalValueTimestamp)
 {
     //Checks if it is the first or second signal that has been changed.
     if (newSignalValueTimestamp.Signal == base.Signal)
     {
         if (_oldCompareSignalValueTimestamp != null)
         {
             if (newSignalValueTimestamp.Value == _oldCompareSignalValueTimestamp.Value)
             {
                 _isStatementTrue = true;
             }
             else
             {
                 _isStatementTrue = false;
             }
         }
         _oldSignalValueTimestamp = newSignalValueTimestamp;
     }
     else if (newSignalValueTimestamp.Signal == base.CompareSignal)
     {
         if (_oldSignalValueTimestamp != null)
         {
             if (newSignalValueTimestamp.Value == _oldSignalValueTimestamp.Value)
             {
                 _isStatementTrue = true;
             }
             else
             {
                 _isStatementTrue = false;
             }
         }
         _oldCompareSignalValueTimestamp = newSignalValueTimestamp;
     }
 }
示例#5
0
 private void CheckStatementWithTwoSignals(SignalValueTimestamp newSignalValueTimestamp)
 {
     if (newSignalValueTimestamp.Signal == base.Signal)
     {
         if (_oldCompareSignalValueTimestamp != null)
         {
             if (newSignalValueTimestamp.Value > _oldCompareSignalValueTimestamp.Value)
             {
                 _isStatementTrue = true;
             }
             else
             {
                 _isStatementTrue = false;
             }
         }
         _oldSignalValueTimestamp = newSignalValueTimestamp;
     }
     else if (newSignalValueTimestamp.Signal == base.CompareSignal)
     {
         if (_oldSignalValueTimestamp != null)
         {
             if (_oldSignalValueTimestamp.Value > newSignalValueTimestamp.Value)
             {
                 _isStatementTrue = true;
             }
             else
             {
                 _isStatementTrue = false;
             }
         }
         _oldCompareSignalValueTimestamp = newSignalValueTimestamp;
     }
 }
 public override bool CheckStatement(SignalValueTimestamp newValue)
 {
     if (base.StartTimestamp + _timerThreshold > newValue.TimeStamp)
     {
         return(true);
     }
     return(false);
 }
 public override bool CheckStatement(SignalValueTimestamp newSignalValueTimestamp)
 {
     switch (base.CompareTo)
     {
         case LogialAnalyzerTrigger.Statement.CompareTo.SignalValue:
             CheckStatementWithTwoSignals(newSignalValueTimestamp);
             break;
         case LogialAnalyzerTrigger.Statement.CompareTo.StaticVariable:
             if (base.Signal == newSignalValueTimestamp.Signal)
             {
                 if (newSignalValueTimestamp.Value < base.CompareVariable)
                     _isStatementTrue = true;
                 else
                     _isStatementTrue = false;
             }
             break;
         default:
             throw new Exception("Compare option not set");
     }
     return _isStatementTrue;
 }
        public override bool CheckStatement(SignalValueTimestamp newValue)
        {
            var isTrue = false;

            foreach (KeyValuePair<Statement, LogicalOperators> keyValuePair in _statementAndLogicalOperators)
            {
                switch (keyValuePair.Value)
                {
                    case LogicalOperators.And:
                        isTrue = isTrue && keyValuePair.Key.CheckStatement(newValue);
                        break;
                    case LogicalOperators.Or:
                        isTrue = isTrue || keyValuePair.Key.CheckStatement(newValue);
                        break;
                    case LogicalOperators.First:
                        isTrue = keyValuePair.Key.CheckStatement(newValue);
                        break;
                    default:
                        break;
                }
            }

            return isTrue;
        }
示例#9
0
 public abstract bool CheckStatement(SignalValueTimestamp newSignalValueTimestamp);
 public override bool CheckStatement(SignalValueTimestamp newValue)
 {
     if (base.StartTimestamp + _timerThreshold > newValue.TimeStamp)
         return false;
     return true;
 }
 public abstract bool CheckStatement(SignalValueTimestamp newSignalValueTimestamp);