gpiocdev 0.8.0

Access GPIO lines on Linux using the GPIO character device
Documentation
// SPDX-FileCopyrightText: 2022 Kent Gibson <warthog618@gmail.com>
//
// SPDX-License-Identifier: Apache-2.0 OR MIT

// Basic example of reading multiple lines.

use gpiocdev::line::Values;
use gpiocdev::Request;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // request multiple input lines
    let req = Request::builder()
        .on_chip("/dev/gpiochip0")
        .with_consumer("get-multiple-line-values")
        .with_lines(&[18, 23])
        .as_input()
        .request()?;

    // get all requested line values at once
    let mut values = Values::default();
    req.values(&mut values)?;
    println!("all values = {values:?}");

    // or individually
    let mut values = Values::from_offsets(&[23]);
    req.values(&mut values)?;
    println!("one value = {values:?}");
    Ok(())
}