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,
|
CounterClockwise,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl LedDirection {
|
||||||
|
fn flip(&self) -> LedDirection {
|
||||||
|
match self {
|
||||||
|
LedDirection::Clockwise => LedDirection::CounterClockwise,
|
||||||
|
LedDirection::CounterClockwise => LedDirection::Clockwise,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[app(device = hal::stm32)]
|
#[app(device = hal::stm32)]
|
||||||
const APP: () = {
|
const APP: () = {
|
||||||
static mut button: UserButton = ();
|
static mut button: UserButton = ();
|
||||||
|
@ -68,10 +77,8 @@ const APP: () = {
|
||||||
|
|
||||||
#[interrupt(binds = EXTI0, resources = [button, exti, led_cycle_direction])]
|
#[interrupt(binds = EXTI0, resources = [button, exti, led_cycle_direction])]
|
||||||
fn button_pressed() {
|
fn button_pressed() {
|
||||||
*resources.led_cycle_direction = match *resources.led_cycle_direction {
|
*resources.led_cycle_direction = resources.led_cycle_direction.flip();
|
||||||
LedDirection::Clockwise => LedDirection::CounterClockwise,
|
|
||||||
LedDirection::CounterClockwise => LedDirection::Clockwise,
|
|
||||||
};
|
|
||||||
resources.button.clear_interrupt_pending_bit(resources.exti);
|
resources.button.clear_interrupt_pending_bit(resources.exti);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue