diff options
author | XScorpion2 <rcalt2vt@gmail.com> | 2021-05-01 14:14:17 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-01 12:14:17 -0700 |
commit | 3c2e69af79e09d27cf799370685ee8a89ff45a5d (patch) | |
tree | ab9d808627f8296f683515e9e5b6c2381a8f9c23 /quantum/split_common | |
parent | e9b0e9286eefce3c4ca21e4c0ad0c43a245e3666 (diff) | |
download | qmk_firmware-3c2e69af79e09d27cf799370685ee8a89ff45a5d.tar.gz qmk_firmware-3c2e69af79e09d27cf799370685ee8a89ff45a5d.zip |
Fixing transport's led/rgb matrix suspend state logic (#12770)
Diffstat (limited to 'quantum/split_common')
-rw-r--r-- | quantum/split_common/transport.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/quantum/split_common/transport.c b/quantum/split_common/transport.c index b67702f15..b29e58d58 100644 --- a/quantum/split_common/transport.c +++ b/quantum/split_common/transport.c | |||
@@ -162,11 +162,13 @@ bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) | |||
162 | 162 | ||
163 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | 163 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) |
164 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_MATRIX_START, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix), TIMEOUT); | 164 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_MATRIX_START, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix), TIMEOUT); |
165 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_SUSPEND_START, (void *)g_suspend_state, sizeof(i2c_buffer->led_suspend_state), TIMEOUT); | 165 | bool suspend_state = led_matrix_get_suspend_state(); |
166 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_SUSPEND_START, (void *)suspend_state, sizeof(i2c_buffer->led_suspend_state), TIMEOUT); | ||
166 | # endif | 167 | # endif |
167 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) | 168 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) |
168 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_START, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix), TIMEOUT); | 169 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_START, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix), TIMEOUT); |
169 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_SUSPEND_START, (void *)g_suspend_state, sizeof(i2c_buffer->rgb_suspend_state), TIMEOUT); | 170 | bool suspend_state = rgb_matrix_get_suspend_state(); |
171 | i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_SUSPEND_START, (void *)suspend_state, sizeof(i2c_buffer->rgb_suspend_state), TIMEOUT); | ||
170 | # endif | 172 | # endif |
171 | 173 | ||
172 | # ifndef DISABLE_SYNC_TIMER | 174 | # ifndef DISABLE_SYNC_TIMER |
@@ -217,11 +219,11 @@ void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) | |||
217 | 219 | ||
218 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | 220 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) |
219 | memcpy((void *)i2c_buffer->led_matrix, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix)); | 221 | memcpy((void *)i2c_buffer->led_matrix, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix)); |
220 | memcpy((void *)i2c_buffer->led_suspend_state, (void *)g_suspend_state, sizeof(i2c_buffer->led_suspend_state)); | 222 | led_matrix_set_suspend_state(i2c_buffer->led_suspend_state); |
221 | # endif | 223 | # endif |
222 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) | 224 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) |
223 | memcpy((void *)i2c_buffer->rgb_matrix, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix)); | 225 | memcpy((void *)i2c_buffer->rgb_matrix, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix)); |
224 | memcpy((void *)i2c_buffer->rgb_suspend_state, (void *)g_suspend_state, sizeof(i2c_buffer->rgb_suspend_state)); | 226 | rgb_matrix_set_suspend_state(i2c_buffer->rgb_suspend_state); |
225 | # endif | 227 | # endif |
226 | } | 228 | } |
227 | 229 | ||
@@ -391,11 +393,11 @@ bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) | |||
391 | 393 | ||
392 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | 394 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) |
393 | serial_m2s_buffer.led_matrix = led_matrix_econfig; | 395 | serial_m2s_buffer.led_matrix = led_matrix_econfig; |
394 | serial_m2s_buffer.led_suspend_state = g_suspend_state; | 396 | serial_m2s_buffer.led_suspend_state = led_matrix_get_suspend_state(); |
395 | # endif | 397 | # endif |
396 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) | 398 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) |
397 | serial_m2s_buffer.rgb_matrix = rgb_matrix_config; | 399 | serial_m2s_buffer.rgb_matrix = rgb_matrix_config; |
398 | serial_m2s_buffer.rgb_suspend_state = g_suspend_state; | 400 | serial_m2s_buffer.rgb_suspend_state = rgb_matrix_get_suspend_state(); |
399 | # endif | 401 | # endif |
400 | 402 | ||
401 | # ifndef DISABLE_SYNC_TIMER | 403 | # ifndef DISABLE_SYNC_TIMER |
@@ -439,11 +441,11 @@ void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) | |||
439 | 441 | ||
440 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | 442 | # if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) |
441 | led_matrix_eeconfig = serial_m2s_buffer.led_matrix; | 443 | led_matrix_eeconfig = serial_m2s_buffer.led_matrix; |
442 | g_suspend_state = serial_m2s_buffer.led_suspend_state; | 444 | led_matrix_set_suspend_state(serial_m2s_buffer.led_suspend_state); |
443 | # endif | 445 | # endif |
444 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) | 446 | # if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) |
445 | rgb_matrix_config = serial_m2s_buffer.rgb_matrix; | 447 | rgb_matrix_config = serial_m2s_buffer.rgb_matrix; |
446 | g_suspend_state = serial_m2s_buffer.rgb_suspend_state; | 448 | rgb_matrix_set_suspend_state(serial_m2s_buffer.rgb_suspend_state); |
447 | # endif | 449 | # endif |
448 | } | 450 | } |
449 | 451 | ||