Skip to main content

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
TypeName
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>