#include <ao_sdcard.h>
#include <ao_fat.h>
#include <ao_lisp.h>
+#include <ao_button.h>
+#include <ao_event.h>
struct ao_task ball_task;
{ 0, NULL }
};
+static struct ao_task event_task;
+
+static void
+ao_event_loop(void)
+{
+ for (;;) {
+ struct ao_event ev;
+
+ ao_event_get(&ev);
+ printf("type %d uint %d tick %d value %d\n",
+ ev.type, ev.unit, ev.tick, ev.value);
+ flush();
+ }
+}
+
int
main(void)
{
ao_usb_init();
+ ao_button_init();
+
ao_config_init();
ao_add_task(&ball_task, ao_ball, "ball");
+ ao_add_task(&event_task, ao_event_loop, "events");
ao_cmd_register(&ao_demo_cmds[0]);
ao_start_scheduler();
#define AO_SDCARD_SPI_MISO_PIN 3
#define AO_SDCARD_SPI_MOSI_PIN 4
+/* Buttons */
+
+#define AO_EVENT 1
+
+#define AO_BUTTON_COUNT 4
+#define AO_BUTTON_MODE AO_EXTI_MODE_PULL_DOWN
+
+/* INPUT */
+#define AO_BUTTON_0_PORT (&stm_gpioc)
+#define AO_BUTTON_0 8
+
+/* MP */
+#define AO_BUTTON_1_PORT (&stm_gpioc)
+#define AO_BUTTON_1 9
+
+/* RUN */
+#define AO_BUTTON_2_PORT (&stm_gpioc)
+#define AO_BUTTON_2 10
+
+/* LOAD */
+#define AO_BUTTON_3_PORT (&stm_gpioc)
+#define AO_BUTTON_3 11
+
+
#endif /* _AO_PINS_H_ */