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 | |
| parent | e9b0e9286eefce3c4ca21e4c0ad0c43a245e3666 (diff) | |
| download | qmk_firmware-3c2e69af79e09d27cf799370685ee8a89ff45a5d.tar.gz qmk_firmware-3c2e69af79e09d27cf799370685ee8a89ff45a5d.zip | |
Fixing transport's led/rgb matrix suspend state logic (#12770)
| -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 | ||
