Module capsules::gpio_async [] [src]

Provides userspace applications with a driver interface to asynchronous GPIO pins.

Async GPIO pins are pins that exist on something like a GPIO extender or a radio that has controllable GPIOs.

Usage

Generate a list of ports to group into one userspace driver.
let async_gpio_ports = static_init!(
    [&'static capsules::mcp23008::MCP23008; 1],
    [mcp23008]);

let gpio_async = static_init!(
    capsules::gpio_async::GPIOAsync<'static, capsules::mcp23008::MCP23008<'static>>,
    capsules::gpio_async::GPIOAsync::new(async_gpio_ports));

// Setup the clients correctly.
for port in async_gpio_ports.iter() {
    port.set_client(gpio_async);
}

Reexports

use core::cell::Cell;
use kernel::AppId;
use kernel::Callback;
use kernel::Driver;
use kernel::ReturnCode;
use kernel::hil;

Structs

GPIOAsync