aboutsummaryrefslogtreecommitdiff
path: root/quantum/split_common
diff options
context:
space:
mode:
authorXScorpion2 <rcalt2vt@gmail.com>2021-05-01 14:14:17 -0500
committerGitHub <noreply@github.com>2021-05-01 12:14:17 -0700
commit3c2e69af79e09d27cf799370685ee8a89ff45a5d (patch)
treeab9d808627f8296f683515e9e5b6c2381a8f9c23 /quantum/split_common
parente9b0e9286eefce3c4ca21e4c0ad0c43a245e3666 (diff)
downloadqmk_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.c18
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