diff options
| author | Dario Nieuwenhuis <[email protected]> | 2022-09-06 23:11:27 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-09-06 23:11:27 +0200 |
| commit | 6b90ab86644b48fd4b687c1173d1f9284f568a3b (patch) | |
| tree | 3eeb5843292bb0a26931ade51ad4d54d9696d6d7 /src | |
| parent | 29145e5f92918f5f6e575e5ccee159c0160c6694 (diff) | |
| parent | ea0738c4851cbeb87de0d40ce1e8246368db4c6b (diff) | |
Merge pull request #12 from jannic-dev-forks/gpio
Add gpio_set
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs index 5e79e6e40..21b8b2d80 100644 --- a/src/lib.rs +++ b/src/lib.rs | |||
| @@ -397,6 +397,12 @@ impl<'a> Control<'a> { | |||
| 397 | info!("JOINED"); | 397 | info!("JOINED"); |
| 398 | } | 398 | } |
| 399 | 399 | ||
| 400 | pub async fn gpio_set(&mut self, gpio_n: u8, gpio_en: bool) { | ||
| 401 | assert!(gpio_n < 3); | ||
| 402 | self.set_iovar_u32x2("gpioout", 1 << gpio_n, if gpio_en { 1 << gpio_n } else { 0 }) | ||
| 403 | .await | ||
| 404 | } | ||
| 405 | |||
| 400 | async fn set_iovar_u32x2(&mut self, name: &str, val1: u32, val2: u32) { | 406 | async fn set_iovar_u32x2(&mut self, name: &str, val1: u32, val2: u32) { |
| 401 | let mut buf = [0; 8]; | 407 | let mut buf = [0; 8]; |
| 402 | buf[0..4].copy_from_slice(&val1.to_le_bytes()); | 408 | buf[0..4].copy_from_slice(&val1.to_le_bytes()); |
