aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ergodox_ez/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox_ez/matrix.c')
-rw-r--r--keyboards/ergodox_ez/matrix.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index c70772938..28dc37a09 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -208,10 +208,8 @@ static matrix_row_t read_cols(uint8_t row) {
208 return 0; 208 return 0;
209 } else { 209 } else {
210 uint8_t data = 0; 210 uint8_t data = 0;
211 mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); 211 // reading GPIOB (column port) since in mcp23018's sequential mode
212 if (mcp23018_status) goto out; 212 // it is addressed directly after writing to GPIOA in select_row()
213 mcp23018_status = i2c_write(GPIOB, ERGODOX_EZ_I2C_TIMEOUT);
214 if (mcp23018_status) goto out;
215 mcp23018_status = i2c_start(I2C_ADDR_READ, ERGODOX_EZ_I2C_TIMEOUT); 213 mcp23018_status = i2c_start(I2C_ADDR_READ, ERGODOX_EZ_I2C_TIMEOUT);
216 if (mcp23018_status) goto out; 214 if (mcp23018_status) goto out;
217 mcp23018_status = i2c_read_nack(ERGODOX_EZ_I2C_TIMEOUT); 215 mcp23018_status = i2c_read_nack(ERGODOX_EZ_I2C_TIMEOUT);