From 6ea3591cec0bdef1eb1ccec0afadbf4b34f1df55 Mon Sep 17 00:00:00 2001 From: Etaoin Wu Date: Sat, 13 Jul 2024 01:49:14 -0700 Subject: [PATCH] Fix i2c received value in georgi and bajjak Commit e9bd7d7a (PR #21273) refactors low-level calls to the i2c API into the current wrapper API calls. When translating for two keyboards (georgi, bajjak), said PR sadly missed two bitwise negation operators when receiving from i2c. This commit attempts to fix them. --- keyboards/bajjak/matrix.c | 2 +- keyboards/gboards/georgi/matrix.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/keyboards/bajjak/matrix.c b/keyboards/bajjak/matrix.c index 5451bf787dcc..3ec7cbd07748 100644 --- a/keyboards/bajjak/matrix.c +++ b/keyboards/bajjak/matrix.c @@ -146,7 +146,7 @@ static matrix_row_t read_cols(uint8_t row) { // reading GPIOB (column port) since in mcp23018's sequential mode // it is addressed directly after writing to GPIOA in select_row() mcp23018_status = i2c_receive(I2C_ADDR, &data, 1, BAJJAK_EZ_I2C_TIMEOUT); - return data; + return ~data; } } else { /* read from teensy diff --git a/keyboards/gboards/georgi/matrix.c b/keyboards/gboards/georgi/matrix.c index 00c17a3e4435..9552518f766b 100644 --- a/keyboards/gboards/georgi/matrix.c +++ b/keyboards/gboards/georgi/matrix.c @@ -255,6 +255,7 @@ static matrix_row_t read_cols(uint8_t row) } else { uint8_t data = 0; mcp23018_status = i2c_read_register(I2C_ADDR, GPIOB, &data, 1, ERGODOX_EZ_I2C_TIMEOUT); + data = ~data; #ifdef DEBUG_MATRIX if (data != 0x00) xprintf("I2C: %d\n", data);