GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - DevChive/raspberry-sharp-io: A .NET/Mono IO Library for Raspberry Pi

This repository was archived by the owner on Jul 14, 2022. It is now read-only.
BranchesTags
Open more actions menu
 
 

Latest commit

 

History

286 Commits
286 Commits

Folders and files

NameName
Last commit message
Last commit date
Raspberry.IO.Components
Raspberry.IO.Components
 
 
Raspberry.IO.GeneralPurpose
Raspberry.IO.GeneralPurpose
 
 
Raspberry.IO.InterIntegratedCircuit
Raspberry.IO.InterIntegratedCircuit
 
 
Raspberry.IO.Interop
Raspberry.IO.Interop
 
 
Raspberry.IO.SerialPeripheralInterface
Raspberry.IO.SerialPeripheralInterface
 
 
Raspberry.IO
Raspberry.IO
 
 
Tests
Tests
 
 
UnitTests
UnitTests
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
Icon.png
Icon.png
 
 
README.md
README.md
 
 
Raspberry.IO.GeneralPurpose.nuspec
Raspberry.IO.GeneralPurpose.nuspec
 
 
RaspberrySharp.IO.sln
RaspberrySharp.IO.sln
 
 
SharedAssemblyInfo.cs
SharedAssemblyInfo.cs
 
 
build.cmd
build.cmd
 
 
build.common.ps1
build.common.ps1
 
 
build.ps1
build.ps1
 
 

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 low- and high-level GPIO input/output, support for SPI and I2C peripherals.

Samples for 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:

Low-level:

  • Access to GPIO pins through in 3 flavors: basic (using files), through memory, and full (memory with support for edge detection through "pseudo-interrupt"). By default, full driver is used.
  • Addressing through processor pin number or connector pin number
  • Pin assignment of various Raspberry Pi revisions (as of 2013-09, Raspberry Pi model B rev1 and rev2 as well as Raspberry Pi model A, including rev2 P5 connector)
  • Controlled use of resources using a IDisposable component and ability to use edge detection instead of polling
  • Support sub-millisecond polling of input pins

High-level:

  • Giving custom name to pins for more readable code
  • 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

Raspberry.IO.SerialPeripheralInterface

  • Preliminary support for SPI through Raspberry.IO.SerialPeripheralInterface assembly
  • Includes SPI samples for MCP3008 ADC and MCP4822 DAC
  • Includes support for Linux's kernel SPI module driver spi-bcm2708 (/dev/spidev0.0)

Raspberry.IO.InterIntegratedCircuit

  • Preliminary support for I2C through Raspberry.IO.InterIntegratedCircuit assembly
  • Includes I2C sample for MCP23017 I/O expander

Raspberry.IO.Components

  • Preliminary support for various components through Raspberry.IO.Components assembly
  • Includes samples for
    • HD44780 LCD display
    • HC-SR04 distance detector
    • Pca9685 PWM LED Controller (as used in the Adafruit 16-Channel 12-bit PWM/Servo Driver)
    • TLC59711 PWM LED Controller (as used in the Adafruit 12-Channel 16-bit PWM LED Driver)

Parts of Raspberry# IO are inspired by BCM2835 C Library and Gordon Henderson's WiringPi.

About

A .NET/Mono IO Library for Raspberry Pi

Resources

Readme
Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.