Add a flip() helper method for LedDirection; use it
This commit is contained in:
parent
c7f6c19e75
commit
c2f159b63f
1 changed files with 11 additions and 4 deletions
15
src/main.rs
15
src/main.rs
|
@ -20,6 +20,15 @@ pub enum LedDirection {
|
|||
CounterClockwise,
|
||||
}
|
||||
|
||||
impl LedDirection {
|
||||
fn flip(&self) -> LedDirection {
|
||||
match self {
|
||||
LedDirection::Clockwise => LedDirection::CounterClockwise,
|
||||
LedDirection::CounterClockwise => LedDirection::Clockwise,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[app(device = hal::stm32)]
|
||||
const APP: () = {
|
||||
static mut button: UserButton = ();
|
||||
|
@ -68,10 +77,8 @@ const APP: () = {
|
|||
|
||||
#[interrupt(binds = EXTI0, resources = [button, exti, led_cycle_direction])]
|
||||
fn button_pressed() {
|
||||
*resources.led_cycle_direction = match *resources.led_cycle_direction {
|
||||
LedDirection::Clockwise => LedDirection::CounterClockwise,
|
||||
LedDirection::CounterClockwise => LedDirection::Clockwise,
|
||||
};
|
||||
*resources.led_cycle_direction = resources.led_cycle_direction.flip();
|
||||
|
||||
resources.button.clear_interrupt_pending_bit(resources.exti);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue