Skip to content

Commit

Permalink
gpio example: check if no gpio or no pins
Browse files Browse the repository at this point in the history
  • Loading branch information
bradjc committed Sep 12, 2023
1 parent 58f7ecc commit 00d8c98
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions examples/gpio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,22 @@ fn main() {
writeln!(Console::writer(), "GPIO[{}]: {:?}", gpio_index, state).unwrap();
});

match Gpio::count() {
Ok(gpio_count) if gpio_count > 0 => {
// Configure pin 0 as an input and enable rising interrupts
let pin = Gpio::get_pin(0).unwrap();
let input_pin = pin.make_input::<gpio::PullNone>().unwrap();
let _ = input_pin.enable_interrupts(gpio::PinInterruptEdge::Rising);

// Wait for callbacks.
share::scope(|subscribe| {
Gpio::register_listener(&listener, subscribe).unwrap();

loop {
TockSyscalls::yield_wait();
}
});
}
if !Gpio::count().is_ok_and(|c| c > 0) {
writeln!(Console::writer(), "No GPIO pins on this board.").unwrap();
return;
}

// Configure pin 0 as an input and enable rising interrupts
let pin = Gpio::get_pin(0).unwrap();
let input_pin = pin.make_input::<gpio::PullNone>().unwrap();
let _ = input_pin.enable_interrupts(gpio::PinInterruptEdge::Rising);

_ => {
writeln!(Console::writer(), "No GPIO pins on this board.").unwrap();
// Wait for callbacks.
share::scope(|subscribe| {
Gpio::register_listener(&listener, subscribe).unwrap();

loop {
TockSyscalls::yield_wait();
}
}
});
}

0 comments on commit 00d8c98

Please sign in to comment.