Raspberry.IO.GeneralPurpose

The Raspberry.IO.GeneralPurpose.dll assembly provides access to the Raspberry Pi GPIO pins. This project is available under a compiled, Nuget form: see Raspberry.IO.GeneralPurpose Nuget.

Introduction

Raspberry.IO.GeneralPurpose namespace contains classes that provide three different levels of abstraction from the GPIO hardware pins:

Some components located in other Raspberry.IO namespaces, such as Raspberry.IO.Components, are based on IGpioConnectionDriver.

Samples

The Test.Gpio.Chaser project provides a sample using the GPIO pins.

Getting Started

Basic access to the Raspberry Pi GPIO is done as follows:

Declare Raspberry.IO.GeneralPurpose namespace

using Raspberry.IO.GeneralPurpose;

Identify pins on your Raspberry Pi board

Following Raspberry Pin Numbering information.

Declare the pins

Here, as an output pin for pin P1-11.

var led1 = ConnectorPin.P1Pin11.Output();

Create a connection to the GPIO

Pins are passed as an argument of GpioConnection initializer.

var connection = new GpioConnection(led1);

Use the connection

The following code toggle led status every 250ms.

for(var i = 0; i < 100; i++){
    connection.Toggle(led1);
    System.Threading.Thread.Sleep(250);
}

Close the connection