Interface IDigitalInterruptPort
Contract for ports that are capable of reading digital inputs and raising events when state changes.
Assembly: Meadow.Contracts.dll
View Source
public interface IDigitalInterruptPort : IDigitalInputPort, IDigitalPort, IPort<IDigitalChannelInfo>, IDisposable, IObservable<IChangeResult<DigitalState>>
Properties
InterruptMode
Gets the interrupt mode used to determine when interrupts are raised.
View Source
InterruptMode InterruptMode { get; }
DebounceDuration
Gets or sets the debounce duration. Effectively a delay after an event where new inputs are ignored
View Source
TimeSpan DebounceDuration { get; set; }
GlitchDuration
Gets or sets the glitch duration. This is the minimum amount of time a signal needs to be stable before an event is recognized
View Source
TimeSpan GlitchDuration { get; set; }
Methods
CreateObserver(Action<IChangeResult<DigitalState>>, Predicate<IChangeResult<DigitalState>>?)
An IObserver
that handles change notifications and has an optional
predicate that automatically filters results so only results that match
the predicate will reach the subscriber.
View Source
public static FilterableChangeObserver<DigitalState> CreateObserver(Action<IChangeResult<DigitalState>> handler, Predicate<IChangeResult<DigitalState>>? filter = null)
Returns
Meadow.FilterableChangeObserver<UNIT>
Parameters
Type | Name |
---|---|
System.Action<Meadow.IChangeResult<Meadow.Hardware.DigitalState>> | handler |
System.Predicate<Meadow.IChangeResult<Meadow.Hardware.DigitalState>> | filter |
Events
Changed
Raised when the state of the digital port is changed / updated.
View Source
event EventHandler<DigitalPortResult> Changed
Event Type
System.EventHandler<Meadow.Hardware.DigitalPortResult>