Skip to main content

Namespace Meadow.Hardware

Classes

AnalogChannelInfo

Information about an analog channel

AnalogInputPort

Represents a port that is capable of reading analog input.

AnalogInputPortBase

Provides a base implementation for much of the common tasks of implementing IAnalogInputPort

AnalogPortBase

Provides a base implementation for much of the common tasks of implementing IAnalogPort

BatteryInfo

Represents battery information.

BiDirectionalInterruptPort

Represents a port that is capable of reading and writing digital input and output.

BiDirectionalInterruptPortBase

A base class for IBiDirectionalInterruptPort implementations

BiDirectionalPort

Represents a bi-directional port.

BiDirectionalPortBase

Provides a base implementation for BiDirectional Ports; digital ports that can be both input and output.

CanChannelInfo

Information about a Controller Area Network (CanChannelInfo) channel

CellNetworkConnectionEventArgs

Data relating to a Cell connection.

ChannelConfig

Represents a configuration for a hardware channel.

ChannelInfoBase

Provides base functionality for channel types.

Connector<TPinDefinition>

Represents a Collection of IPins

Counter

Represents a class that counts edges on an interrupt-capable input port

DigitalChannelInfo

Information about a digital channel's capabilities

DigitalChannelInfoBase

A base implementation of the IDigitalChannelInfo interface.

DigitalInputPort

Represents a port that is capable of reading digital input.

DigitalInputPortBase

Provides a base implementation for digital input ports.

DigitalInterruptPort

Represents a port that is capable of reading digital input.

DigitalInterruptPortBase

A base class for IDigitalInterruptPort implementations

DigitalOutputPort

Represents a port that is capable of writing analog output.

DigitalOutputPortBase

Provides a base implementation for digital output ports.

DigitalPortBase

DigitalPortBase provides a base implementation for much of the common tasks of classes implementing IDigitalPort.

EthernetNetworkConnectionEventArgs

Data relating to a Ethernet connection.

GroveDigitalConnector

Represents a connector for Seeed Studio Grove for digital devices. See https://wiki.seeedstudio.com/Grove_System/#digital

GroveDigitalConnector.GroveDigitalPinDefinitions

Represents the pins definitions for the Grove Digital connector

GroveDigitalConnector.PinNames

The set of digital Grove connector pins

I2cChannelInfo

Represents information about an I2C channel

I2cConnector

Represents a connector for 2 wire I2C devices

I2cConnector.I2cPinDefinitions

Represents the pins definitions for the 2 wire I2C connector

I2cConnector.PinNames

The set of I2C pin names

InterruptGroupInUseException

Exception thrown when attempting to use an interrupt group that is already in use.

MikroBusConnector

Represents a connector for MikroBus devices

MikroBusConnector.MikroBusPinDefinitions

Represents the pins definitions for the MikroBus connector

MikroBusConnector.PinNames

The set of MikroBus pin names

NamedPinGroup

Represents a group of named pins.

NetworkConnectionEventArgs

Arguments passed in a NetworkConnection event

NetworkDisconnectionEventArgs

Data relating to a WiFi disconnect event.

NetworkDisconnectReasonExtensions

Extension methods for NetworkDisconnectReason

NetworkErrorEventArgs

Data relating to a WiFi error event.

Pin

Provides base implementation for IO pins.

PinMapping

Represents a mapping of a connector pin names to a host IPins

PinMapping.PinAlias

Represent an alias for a single connector pin

PortBase<C>

Represents a base class for hardware ports.

PwmChannelInfo

Information about a Pulse Width Modulation (PWM) channel

PwmPortBase

Represents a base class for PWM ports.

SerialDataReceivedEventArgs

Provides data for serial data received events.

SerialErrorReceivedEventArgs

Provides data from serial communication errors.

SerialMessageData

Represents a SerialMessagePort message consisting of a byte[] of the actual message data.

SerialMessagePort

Represents a port that is capable of serial (UART) communications.

Has a streamlined API over class SerialPort that deals in messages.

This is a modern, asynchronous take on serial communications that is thread-safe and asynchronous in nature. This is the recommended way to use serial on Meadow for nearly all use cases.

SerialMessageProcessor

A serial message processor class to accept data, parse and raise notifications when complete messages are received

SerialPortBase

Represents a port that is capable of serial (UART) communications. Preserved for legacy API compatibility. For a more modern approach, use SerialMessagePort.

SerialPortName

Represents the name of a serial port, which consists of both a "friendly" and a system name

SoftPwmPort

A Pulse Width Modulation Generator that can generates waveforms in software. The maximum Frequency is about 100 Hz.

Note: This class is not yet implemented.

SpiBusMapping

Represents a mapping of a specific SPI bus on a controller

SpiChannelInfo

Represents SPI channel information.

SpiClockConfiguration

Encapsulates properties of a SPI Bus Clock

UartChannelInfo

Represents information about a UART channel.

UartConnector

Represents a connector for Uart (serial) communication

UartConnector.PinNames

The set of UART (serial) connector pins

UartConnector.UartPinDefinitions

Represents the pins definitions for the Uart (serial) connector

WirelessNetworkConnectionEventArgs

Data relating to a WiFi connection.

Structs

CalibrationPoint

Represents a calibration point with equivalent raw and screen coordinates

DigitalPortResult

Represents a change result from a digital port event. Contains a New and an optional Old value which will be null on the first result within an event series.

DigitalState

Represents a snapshot of the state of a digital port at a given time.

TouchPoint

Represents data for touchscreen events

Interfaces

I32PinFeatherBoardPinout

Represents the pinout definition for the 32-pin Feather board.

IAnalogChannelInfo

Contract for analog communication channels.

IAnalogInputArray

Contract for an array of analog input values

IAnalogInputController

Contract for devices that expose IAnalogInputPort(s).

IAnalogInputPort

Contract for ports that implement an analog input channel.

IAnalogOutputController

Contract for IO devices that are capable of creating an IAnalogOutputPort instances.

IAnalogOutputPort

Contract for ports that implement an analog output channel.

IAnalogPort

Base contract for ports that implement an analog channel.

IBiDirectionalController

Contract for devices that expose IBiDirectionPort(s).

IBiDirectionalInterruptPort

Contract for BiDirectional Ports; digital ports that can be both input and output.

IBiDirectionalPort

Contract for ports that are capable of reading inputs and writing digital outputs.

IByteCommunications

Define a contract for general peripheral communications classes.

ICalibratableTouchscreen

Represents a touch screen device that can be calibrated

ICanChannelInfo

Represents the information specific to a CAN (Controller Area Network) channel.

ICellNetworkAdapter

Provides an abstraction for a cellular INetworkAdapter

IChannelInfo

Minimum contract to describe a GPIO channel type or protocol on a Meadow device such as Analog, Digital, or I2C.

IChannelInfoBase

Represents the base interface for channel information.

ICommunicationChannelInfo

Represents the communication channel information.

ICounter

Abstraction for Counter devices

ICounterController

Contract for devices capable of creating ICounter instances.

IDeviceChannelManager

Abstraction for managing device channels

IDeviceInformation

Interface for accessing device information.

IDigitalChannelInfo

Contract for a GPIO channel that supports digital communications.

IDigitalInputController

Contract for IO devices that are capable of creating an IDigitalInputPort instances.

IDigitalInputOutputController

Contract for devices capable of both digital input and output operations.

IDigitalInputPort

Contract for ports that are capable of reading digital inputs.

IDigitalInterruptController

Contract for IO devices that are capable of creating IDigitalInterruptPort instances.

IDigitalInterruptPort

Contract for ports that are capable of reading digital inputs and raising events when state changes.

IDigitalOutputController

Contract for IO devices that are capable of creating IDigitalOuputPort instances.

IDigitalOutputPort

Contract for ports that are capable of writing digital outputs.

IDigitalPort

Contract for a digital port.

IEspCoprocessorPinout

Represents the pinout for an ESP coprocessor.

II2cBus

Represents an I2C bus.

II2cChannelInfo

Represents the I2C channel information.

II2cCommunications

I2C communications abstraction

II2cController

Contract for devices that expose an II2cBus.

II2cPeripheral

Interface for a device/peripheral that communicates over I2C

IIOController<T>

Contract for Meadow devices.

IMeadowIOController

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

INamedPinGroups

Represents an interface for accessing named pin groups.

INetworkAdapter

Base interface for a network adapter

INetworkAdapterCollection

Provides an abstraction for a collection of INetworkAdapters

INetworkAdapterController

A contract for Meadow devices that support network interfaces

IPin

Contract for a pin

IPinController

Contract for a container/parent of an IPin

IPinDefinitions

Contract for device pin lists.

IPort<C>

Represents a port that is associated with a specific channel and pin.

IPotentiometer

Represents an adjustable resistor (potentiometer) that extends IRheostat.

IPwmChannelInfo

Describes the capabilities of a Pulse-Width-Modulation channel

IPwmOutputController

Contract for devices that expose IPwmPort(s).

IPwmPort

Contract for a Port that has is capable of

IRealTimeClock

Abstraction for Real-time clock devices

IRheostat

Represents an adjustable resistor (rheostat).

ISerialCommunicationChannelInfo

Represents the communication channel information for a serial communication channel.

ISerialController

Contract for devices that provide serial communication capabilities.

ISerialMessageController

Contract for devices that expose ISerialMessagePort(s).

ISerialMessagePort

Contract for a serial port that provides predictable messaging.

ISerialPort

Represents a port that is capable of serial (UART) communications.

ISpiBus

Represents an SPI bus.

ISpiChannelInfo

Represents the communication channel information for an SPI channel.

ISpiCommunications

SPI communications abstraction

ISpiController

Contract for devices who expose ISpiBus(es).

ISpiPeripheral

Interface for a device/peripheral that communicates over SPI

ITouchScreen

Represents a touch screen device

IUartChannelInfo

Represents the communication channel information for a UART channel.

IWatchdogController

Contract for hardware that has a watchdog. Watchdogs are used to reset a device in the event that the application code on it has stopped responding.

IWiFiNetworkAdapter

Provides an abstraction for a wifi-enabled INetworkAdapter

IWiredNetworkAdapter

Provides an abstraction for a wired INetworkAdapter

IWirelessNetworkAdapter

Provides an abstraction for a wireless INetworkAdapter

Enums

AntennaType

The types of antenna that can be selected.

ChannelConfigurationType

TODO: revisit this structure. Ultimately, it would be nice to know, specifically what a channel is configured for, i.e. DigitalInput, I2C TX, UART RX, etc.

ChannelState

Represents a channel state

ChipSelectMode

Represents the chip select mode for a peripheral device.

DuplexType

Describes how read and write buffers are sent.

Half-duplex is the most common and means that the write data is clocked (sent) out, and then the read data is clocked in only after write has finished. Protocols that only have a single data line (such as I2C) can only support half-duplex.

Full-duplex is supported only on protocols that use two or more data lines (such as SPI) and means that data is clocked in at the same time as it is clocked out. Full-duplex peripherals are much less common than half-duplex.

FlowControlType

Describes the type of serial flow control. See https://en.wikipedia.org/wiki/Flow_control_(data)

I2cBusSpeed

Standard I2C Bus speeds

I2cChannelFunctionType

Represents the type of I2C channel function.

InterruptMode

Describes if and when an interrupt is triggered in response to signal changes.

MeadowPlatform

Platform (hardware, etc) Meadow is currently executing on

NetworkDisconnectReason

Reasons for network interface disconnection

OutputType

Describes the output configuration for a GPIO.

Parity

Specifies the parity bit for a SerialPort object.

PortDirectionType

Describes the direction of a port.

ResistorMode

Describes the internal/external IO resistor states.

SerialDataType

Describes the type of serial data received, either characters or an end of file notification.

SerialDirectionType

Describes the direction of a serial data line

SerialErrorType

Describes the type of error encountered during serial communication.

SerialMessageProcessor.SerialMessageMode

Whether we're defining messages by prefix + length, or suffix.

SignalType

Describes the type of electrical signal used.

SpiClockConfiguration.ClockPhase

SPI Bus Clock Phase (CPHA)

SpiClockConfiguration.ClockPolarity

SPI Bus Clock Polarity (CPOL)

SpiClockConfiguration.Mode

Mode (combination of Phase and Polarity) of a SPI bus clock

SpiLineType

Description of a SPI line function

StopBits

Specifies the number of stop bits used on the SerialPort object.

TerminationType

Whether the circuit is terminated into the common/ground or a high (3.3V) voltage source. Used to determine whether to pull the resistor wired to the switch sensor high or low to close the circuit when the switch is closed.

To disable the resistor, set to Floating.

TimeScale

Timescale enum

WakeSource

The source/reason for a device wake event

Delegates

InterruptHandler

Delegate for handling interrupts on a pin.

NetworkConnectionHandler

Delegate containing information about a network connection event

NetworkDisconnectionHandler

Delegate containing information about a network disconnection event

NetworkErrorHandler

Delegate containing information about a network error event.

NetworkStateHandler

Delegate containing information about a change in network state event

SerialDataReceivedEventHandler

Delegate for receiving data from a SerialPort

TouchEventHandler

An event delegate for touchscreen events