Skip to content

andbass/rust-wiringpi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#WiringPi Bindings for Rust

An API wrapper for WiringPi to make it accessible using Rust. It implements the most important functions and provides a bit of type system convenience.

##Example: Flashing Light

extern crate wiringpi;

use std::time::Duration;

use wiringpi::pin::{High, Low};
use wiringpi::time::delay;

fn main() {
	//Setup WiringPi with its own pin numbering order
    let pi = wiringpi::setup().expect("WiringPi setup failed");

    //Use WiringPi pin 0 as output
    let pin = pi.output_pin(0);

    loop {
    	//Set pin 0 to high and wait one second
        pin.digital_write(High);
        delay(Duration::seconds(1));

    	//Set pin 0 to low and wait one second
        pin.digital_write(Low);
        delay(Duration::seconds(1));
    }
}

##Cross Compiling Using Cargo

This project can be cross compiled using Cargo. Follow these instructions And use ./cross64 build or ./cross32 build, depending on your system, to check if everything builds as expected.

About

WiringPi API wrapper for Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 87.8%
  • Shell 10.3%
  • Makefile 1.9%