diff --git a/src/buttons.c b/src/buttons.c index 9c69971..3e03515 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -32,8 +32,8 @@ void buttons_init(void) void buttons_update_state(uint32_t time_ms) { for(int i = 0; i < NUM_BUTTONS; i++) { - bool is_pressed = gpio_get(m_pins[i]); - bool was_pressed = (m_states >> i) != 0; + bool is_pressed = !gpio_get(m_pins[i]); // buttons are active low + bool was_pressed = ((m_states >> i) & 0x1) != 0; m_events[i] = 0; if(is_pressed && !was_pressed) {