Skip to content

raspberry-sharp/raspberry-sharp-io

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry# IO

See the Raspberry# IO Wiki for full documentation and samples.

Introduction

Raspberry# IO is a .NET/Mono IO Library for Raspberry Pi. This project is an initiative of the Raspberry# Community.

Current release is an early public release. Some features may not have been extensively tested. Raspberry# IO currently supports GPIO input/output, and samples with SPI (for MCP3008 ADC or MCP4822 DAC), I2C (for MCP23017 I/O Expander), HD44780 LCD display and HC-SR04 distance sensor are provided.

Support for extended I/O (such as SDI, or PWM for motor control) is planned for future releases.

Programs using Raspberry# IO must be run with elevated privileges, for example the Test.Gpio.Chaser program included in solution:

sudo mono Test.Gpio.Chaser.exe -loop

Features

Raspberry.IO.GeneralPurpose

Raspberry.IO.GeneralPurpose provides a convenient way to use Raspberry Pi GPIO pins, while using .NET concepts, syntax and case. You can easily add a reference to it in your Visual Studio projects using the Raspberry.IO.GeneralPurpose Nuget.

It currently support the following features:

  • Access to GPIO pins through memory (native interop inspired from BCM2835 C Library) or file (except for I2C) drivers
  • Addressing through processor pin number or connector pin number
  • Giving custom name to pins for more readable code
  • Various Raspberry Pi revisions, for now Raspberry B rev1 and rev2, including rev2 P5 connector
  • Easy-to-use, declarative configuration of pins. Ability to revert the polarity (1/0) of pins; ability to use an input pin as a switch button
  • Firing of events when pin status change (input as well as output), using polling
  • High-level behaviors for output pins, including blink, pattern and chaser
  • Controlled use of resources using a IDisposable component
  • Support sub-millisecond polling of input pins
  • Preliminary support for SPI through Raspberry.IO.SerialPeripheralInterface assembly
  • Preliminary support for I2C through Raspberry.IO.InterIntegratedCircuit assembly
  • Prelimianry support for various components through Raspberry.IO.Components assembly
  • Includes SPI samples for MCP3008 ADC and MCP4822 DAC, I2C sample for MCP23017 I/O expander, as well as samples for HD44780 LCD display and HC-SR04 distance detector

About

A .NET/Mono IO Library for Raspberry Pi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 19

Languages