*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
#define bit(q) AO_BUTTON_ ## q
#define pin(q) AO_BUTTON_ ## q ## _PIN
+#ifndef AO_BUTTON_INVERTED
+#define AO_BUTTON_INVERTED 1
+#endif
+
+#if AO_BUTTON_INVERTED
/* pins are inverted */
#define ao_button_value(b) !ao_gpio_get(port(b), bit(b), pin(b))
+#else
+#define ao_button_value(b) ao_gpio_get(port(b), bit(b), pin(b))
+#endif
static uint8_t
_ao_button_get(uint8_t b)
}
+uint8_t
+ao_button_get(uint8_t b)
+{
+ return ao_button_state[b].value;
+}
+
static void
ao_button_isr(void)
{