protected void OnPinsValueChanged(List <GpioPin> changedPins) { if (PinsStateChanged != null && changedPins.Count > 0) { PinsStateChanged.Invoke(this, new PinsStateChangedEventArgs(changedPins)); } }
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)); } } }); }