Iot.Device.Board Namespace

Classes

Board

Base class for all board abstractions. A "board" is a piece of hardware that offers low-level interfaces to other devices. Typically, it has GPIO pins and one or multiple SPI or I2C busses. There should be exactly one instance of a board class per hardware component in an application, but it is possible to work with multiple boards at once (i.e. when having a GPIO expander connected to the Raspberry Pi)

CustomBoard

A board that can be customized with user-specified drivers. This should only be used if the drivers can't be auto-detected properly.

DummyGpioDriver

A GPIO driver that has zero pins. Use to fulfill the interface.

GenericBoard

A generic board class. Uses generic implementations for GPIO, I2C etc

I2cBusExtensions

Contains extension methods that operate on the I2c bus

I2cBusManager

Manages an I2C bus instance

KeyboardGpioDriver

A GPIO Driver for testing on Windows This driver uses the keyboard for simulating GPIO pins. Pins 0-2 are output only and represent the keyboard LEDs (Caps lock, Scroll Lock and Num Lock). Setting a value to any of these pins toggles the LEDs on the keyboard (if they're physically present). Pins above 8 are input only and represent the keyboard keys. To get the pin number, cast the corresponding ConsoleKey to int, e.g. int pinNumber = (int)ConsoleKey.A

RaspberryPiBoard

Raspberry Pi specific board implementation. Contains all the knowledge about which pins can be used for what purpose.

Enums

PinUsage

Designated (or active) usage of a pin