diff --git a/epicardium/modules/buttons.c b/epicardium/modules/buttons.c index ce640f85d4864b790a5ca9960c43e351c2ada3f4..8c0d6ed1bfb88d8ff66b7b5d55adc591152e4204 100644 --- a/epicardium/modules/buttons.c +++ b/epicardium/modules/buttons.c @@ -6,13 +6,13 @@ #define TOP_RIGHT 6 static const uint8_t ButtonPin[] = { BOTTOM_LEFT, BOTTOM_RIGHT, TOP_RIGHT }; -static uint8_t button_states[4]; //as defined by button pin, 3->reset button uint8_t epic_buttons_read(uint8_t mask) { uint8_t retval = 0; if (portexpander_detected() && (mask % 8)) { - uint8_t button_status = ~portexpander_get(); + /* Not using PB_Get() here as that performs one I2C transcation per button */ + uint8_t button_status = portexpander_get(); for (int i = 0; i < 3; i++) { if ((mask >> i) & 1) { retval += ((button_status >> ButtonPin[i]) & 1)