summaryrefslogtreecommitdiff
path: root/keyboards/iris/matrix.c
diff options
context:
space:
mode:
authorJoe DeVivo <joe@devivo.com>2017-12-29 09:09:54 -0700
committerJack Humbert <jack.humb@gmail.com>2018-01-23 14:29:13 -0500
commitac642de9d7560fdd994790288a81163a410a601e (patch)
tree9ba2a7f84bc77a69087f0ddfdfb6ffe0daf682c7 /keyboards/iris/matrix.c
parent7d8a20b07f31309bc41de69583839058040c55b9 (diff)
Iris send backlight info over i2c
Diffstat (limited to 'keyboards/iris/matrix.c')
-rw-r--r--keyboards/iris/matrix.c15
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) {