protected void OnPinsValueChanged(List <GpioPin> changedPins)
 {
     if (PinsStateChanged != null && changedPins.Count > 0)
     {
         PinsStateChanged.Invoke(this, new PinsStateChangedEventArgs(changedPins));
     }
 }
Example #2
0
        public async void Run()
        {
            if (IsDisposed)
            {
                throw new ObjectDisposedException(nameof(CoreTestApp));
            }

            OnStart();

            await Task.Run(() =>
            {
                while (!IsDisposed)
                {
                    if (!_PrevPins.SequenceEqual(_Pins))
                    {
                        _PrevPins = new ConcurrentDictionary <int, bool>(_Pins);
                        PinsStateChanged?.Invoke(this, new ChangePinsStateEventArgs(_Pins));
                    }
                }
            });
        }