Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/synthead/gpio_sysfs

Portable sysfs-based GPIO library for Ruby
https://github.com/synthead/gpio_sysfs

Last synced: 3 days ago
JSON representation

Portable sysfs-based GPIO library for Ruby

Awesome Lists containing this project

README

        

# Summary

gpio\_sysfs is a simple, cross-platform GPIO library for Ruby that interacts
with sysfs without any gem dependencies. This allows this library to interact
with a variety of GPIO interfaces from various vendors with ease.

Unlike some similar libraries, gpio\_sysfs does not read and write to
`/dev/mem`, which requires the root user to be running the code. The user only
needs to have write access to `/sys/class/gpio`.

# Usage

To read from a pin:

```ruby
require "gpio_sysfs"

pin = GpioSysfs::Pin.new(18)
pin.direction = "in"

pin.value # Returns true or false.
```

To write to a pin:

```ruby
require "gpio_sysfs"

pin = GpioSysfs::Pin.new(18)

pin.value = true
```

# Testing

The test suite will run on any machine with:

```shell
bundle exec rspec
```