diff options
| -rw-r--r-- | keyboards/iris/matrix.c | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/keyboards/iris/matrix.c b/keyboards/iris/matrix.c index b83311ce16..3d8d2adb8f 100644 --- a/keyboards/iris/matrix.c +++ b/keyboards/iris/matrix.c @@ -208,6 +208,15 @@ int i2c_transaction(void) {      err = i2c_master_write(0x00);      if (err) goto i2c_error; +#ifdef BACKLIGHT_ENABLE +    // Write backlight level for slave to read +    err = i2c_master_write(get_backlight_level()); +#else +    // Write zero, so our byte index is the same +    err = i2c_master_write(0x00); +#endif +    if (err) goto i2c_error; +      // Start read      err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);      if (err) goto i2c_error; @@ -285,8 +294,12 @@ void matrix_slave_scan(void) {      int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;  #ifdef USE_I2C +#ifdef BACKLIGHT_ENABLE +    // Read backlight level sent from master and update level on slave +    backlight_set(i2c_slave_buffer[0]); +#endif      for (int i = 0; i < ROWS_PER_HAND; ++i) { -        i2c_slave_buffer[i] = matrix[offset+i]; +        i2c_slave_buffer[i+1] = matrix[offset+i];      }  #else // USE_SERIAL      for (int i = 0; i < ROWS_PER_HAND; ++i) { | 
