Skip to main content

Interface IMeadowIOController

Defines the GPIO Manager for interacting with digital and analog pins.

Assembly: Meadow.Contracts.dll
View Source
Declaration
public interface IMeadowIOController

Properties

DeviceChannelManager

Gets the device channel manager for managing input and output channels.

View Source
Declaration
IDeviceChannelManager DeviceChannelManager { get; }

Methods

Initialize(string[]?)

Initializes the device pins to their default power-up status (outputs, low, and pulled down where applicable).

View Source
Declaration
void Initialize(string[]? reservedPinList)
Parameters
TypeNameDescription
System.String[]reservedPinListList of any pins to reserve.

SetDiscrete(IPin, bool)

Sets the value of a discrete (digital) output pin.

View Source
Declaration
void SetDiscrete(IPin pin, bool value)
Parameters
TypeNameDescription
Meadow.Hardware.IPin representing the discrete output pin.
System.BooleanvalueThe value to set on the discrete output pin (true for high, false for low).

GetDiscrete(IPin)

Gets the value of a discrete (digital) input pin.

View Source
Declaration
bool GetDiscrete(IPin pin)
Returns

System.Boolean: The value of the discrete input pin (true for high, false for low).

Parameters
TypeNameDescription
Meadow.Hardware.IPin representing the discrete input pin.

SetResistorMode(IPin, ResistorMode)

Sets the resistor mode for the given pin.

View Source
Declaration
void SetResistorMode(IPin pin, ResistorMode mode)
Parameters
TypeNameDescription
Meadow.Hardware.IPin to set the resistor mode for.
Meadow.Hardware.ResistorModemodeThe resistor mode to set.

ConfigureOutput(IPin, bool, OutputType)

Configures a pin as an output with specified initial state and output type.

View Source
Declaration
void ConfigureOutput(IPin pin, bool initialState, OutputType outputType)
Parameters
TypeName
Meadow.Hardware.IPinpin
System.BooleaninitialState
Meadow.Hardware.OutputTypeoutputType

ConfigureInput(IPin, ResistorMode, InterruptMode, TimeSpan, TimeSpan)

Configures a pin as an input with specified resistor mode, interrupt mode, debounce duration, and glitch duration.

View Source
Declaration
void ConfigureInput(IPin pin, ResistorMode resistorMode, InterruptMode interruptMode, TimeSpan debounceDuration, TimeSpan glitchDuration)
Parameters
TypeName
Meadow.Hardware.IPinpin
Meadow.Hardware.ResistorModeresistorMode
Meadow.Hardware.InterruptModeinterruptMode
System.TimeSpandebounceDuration
System.TimeSpanglitchDuration

WireInterrupt(IPin, InterruptMode, ResistorMode, TimeSpan, TimeSpan)

Wires an interrupt for the specified pin with the given interrupt mode, resistor mode, debounce duration, and glitch duration.

View Source
Declaration
void WireInterrupt(IPin pin, InterruptMode interruptMode, ResistorMode resistorMode, TimeSpan debounceDuration, TimeSpan glitchDuration)
Parameters
TypeName
Meadow.Hardware.IPinpin
Meadow.Hardware.InterruptModeinterruptMode
Meadow.Hardware.ResistorModeresistorMode
System.TimeSpandebounceDuration
System.TimeSpanglitchDuration

UnconfigureGpio(IPin)

Unconfigures a previously configured GPIO pin.

View Source
Declaration
bool UnconfigureGpio(IPin pin)
Returns

System.Boolean: true if the pin was successfully unconfigured, false otherwise.

Parameters
TypeNameDescription
Meadow.Hardware.IPin to unconfigure.

ConfigureAnalogInput(IPin)

Configures a pin as an analog input.

View Source
Declaration
void ConfigureAnalogInput(IPin pin)
Parameters
TypeName
Meadow.Hardware.IPinpin

GetAnalogValue(IPin)

Gets the analog value read from the specified pin.

View Source
Declaration
int GetAnalogValue(IPin pin)
Returns

System.Int32: The analog value read from the pin.

Parameters
TypeNameDescription
Meadow.Hardware.IPin representing the analog input pin.

ReassertConfig(IPin, bool)

Reasserts the configuration for the specified pin.

View Source
Declaration
void ReassertConfig(IPin pin, bool validateInterruptGroup = true)
Parameters
TypeNameDescription
Meadow.Hardware.IPin to reassert the configuration for.
System.BooleanvalidateInterruptGroupWhether to validate the interrupt group for the pin.

GetTemperature()

Gets the temperature reading from the device.

View Source
Declaration
Temperature GetTemperature()
Returns

Meadow.Units.Temperature object.## Events

Interrupt

Event triggered when an interrupt occurs on a pin.

View Source
Declaration
event InterruptHandler Interrupt
Event Type

Meadow.Hardware.InterruptHandler