RPPAL - Raspberry Pi Peripheral Access Library
RPPAL is a Rust library that provides access to the Raspberry Pi GPIO peripheral through either /dev/gpiomem
or /dev/mem
. Support for additional peripherals, as well as useful helper functions, will be added in future updates. The library is compatible with the Raspberry Pi A, A+, B, B+, 2B, 3B, 3B+, Compute, Compute 3, Zero and Zero W.
Backwards compatibility for minor revisions isn't guaranteed until the library reaches v1.0.0.
Documentation
Documentation for the latest release can be found at docs.golemparts.com/rppal. Documentation for earlier releases is stored at docs.rs/rppal.
Usage
Add a dependency for rppal
to your Cargo.toml
.
[]
= "0.4"
Link and import rppal
from your crate root.
extern crate rppal;
Call Gpio::new()
to create a new Gpio instance with the default settings. In production code, you'll want to parse the result rather than unwrap it.
use Gpio;
let mut gpio = new.unwrap;
Example
extern crate rppal;
use thread;
use Duration;
use ;
use DeviceInfo;
// The GPIO module uses BCM pin numbering. BCM 18 equates to physical pin 12.
const GPIO_LED: u8 = 18;
Caution
Always be careful when working with the Raspberry Pi's GPIO. Improper use can lead to permanently damaging the Pi and/or external components.
Cross compilation
If you're not working directly on a Raspberry Pi, you'll likely need to cross compile your code for the appropriate ARM architecture. Check out this guide for more information, or try the cross project for "zero setup" cross compilation.
Copyright and license
Copyright (c) 2017-2018 Rene van der Meer. Released under the MIT license.