diff options
author | Keith Packard <keithp@keithp.com> | 2012-08-06 22:53:52 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-08-06 22:53:52 -0700 |
commit | 46f87373bc8c28442273ee4f8da3a352223150f5 (patch) | |
tree | 07f37b802ca3ffd68cbf43d5056aca0c8085caa7 /src/drivers/ao_quadrature.c | |
parent | 11046bc89b3ce6386f1005fc8476b08f54d6f5fb (diff) |
altos: Add button driver and event queue
With this, a single task can wait for any button or quadrature input
device.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_quadrature.c')
-rw-r--r-- | src/drivers/ao_quadrature.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drivers/ao_quadrature.c b/src/drivers/ao_quadrature.c index aed4999e..6a2c1bba 100644 --- a/src/drivers/ao_quadrature.c +++ b/src/drivers/ao_quadrature.c @@ -18,6 +18,12 @@ #include <ao.h> #include <ao_quadrature.h> #include <ao_exti.h> +#if AO_EVENT +#include <ao_event.h> +#define ao_quadrature_queue(q) ao_event_put_isr(AO_EVENT_QUADRATURE, q, ao_quadrature_count[q]) +#else +#define ao_quadrature_queue(q) +#endif __xdata int32_t ao_quadrature_count[AO_QUADRATURE_COUNT]; @@ -59,6 +65,7 @@ ao_quadrature_isr(void) default: continue; } + ao_quadrature_queue(q); ao_wakeup(&ao_quadrature_count[q]); } } |