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