X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_button.c;h=07e92c670f3a1c590aed332b875d3f8fc66e46b3;hb=refs%2Fheads%2Fbdale-ui;hp=f6a9676bc481ad934b6d794625092a84f531f5d0;hpb=863a9d523b26a8a5f8fbd5b516bd7dd914ee079e;p=fw%2Faltos diff --git a/src/drivers/ao_button.c b/src/drivers/ao_button.c index f6a9676b..53728bce 100644 --- a/src/drivers/ao_button.c +++ b/src/drivers/ao_button.c @@ -19,6 +19,7 @@ #include #include #include +#include #if AO_EVENT #include #define ao_button_queue(b,v) ao_event_put_isr(AO_EVENT_BUTTON, b, v) @@ -37,7 +38,6 @@ static struct ao_button_state ao_button_state[AO_BUTTON_COUNT]; #define port(q) AO_BUTTON_ ## q ## _PORT #define bit(q) AO_BUTTON_ ## q -#define pin(q) AO_BUTTON_ ## q ## _PIN #ifndef AO_BUTTON_INVERTED #define AO_BUTTON_INVERTED 1 @@ -45,9 +45,9 @@ static struct ao_button_state ao_button_state[AO_BUTTON_COUNT]; #if AO_BUTTON_INVERTED /* pins are inverted */ -#define ao_button_value(b) !ao_gpio_get(port(b), bit(b), pin(b)) +#define ao_button_value(b) !ao_gpio_get(port(b), bit(b)) #else -#define ao_button_value(b) ao_gpio_get(port(b), bit(b), pin(b)) +#define ao_button_value(b) ao_gpio_get(port(b), bit(b)) #endif static uint8_t @@ -150,12 +150,7 @@ ao_button_isr(void) } #define init(b) do { \ - ao_enable_port(port(b)); \ - \ - ao_exti_setup(port(b), bit(b), \ - AO_BUTTON_MODE|AO_EXTI_MODE_FALLING|AO_EXTI_MODE_RISING|AO_EXTI_PRIORITY_MED, \ - ao_button_isr); \ - ao_exti_enable(port(b), bit(b)); \ + ao_enable_input(port(b), bit(b), AO_BUTTON_MODE); \ _ao_button_init(b); \ } while (0) @@ -213,4 +208,6 @@ ao_button_init(void) #if AO_BUTTON_COUNT > 16 #error too many buttons #endif + ao_fast_timer_init(); + ao_fast_timer_on(ao_button_isr); }