diff --git a/Cargo.toml b/Cargo.toml index ff3b98a..feaede0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,5 @@ [workspace] members = [ "labadoor-matrix", + "labadoor-gpio", ] diff --git a/labadoor-gpio/Cargo.toml b/labadoor-gpio/Cargo.toml new file mode 100644 index 0000000..bf7ec75 --- /dev/null +++ b/labadoor-gpio/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "labadoor-gpio" +version = "0.1.0" +edition = "2021" +license = "AGPL-3.0-or-later" + +[dependencies] +gpio-cdev = "0.5.0" diff --git a/labadoor-gpio/src/main.rs b/labadoor-gpio/src/main.rs new file mode 100644 index 0000000..e189f03 --- /dev/null +++ b/labadoor-gpio/src/main.rs @@ -0,0 +1,13 @@ +use gpio_cdev::{Chip, LineRequestFlags}; + +fn main() { + let mut chip = Chip::new("/dev/gpiochip0").unwrap(); + let handle = chip + .get_line(6) + .unwrap() + .request(LineRequestFlags::OUTPUT, 1, "labadoor-gpio") + .unwrap(); + handle.set_value(1).unwrap(); + std::thread::sleep(std::time::Duration::from_millis(2000)); + handle.set_value(0).unwrap(); +}