rgblight split transfer non-eeprom config (#5396)
* Make rgblight_update_dword not update eeprom (we already have eeconfig_update_rgblight for that). Make split i2c keyboards transfer active rgblight config rather than eeprom saved version of rgblight config, enabling runtime changes that aren't persisted to eeprom. * prev_level and prev_rgb only store successfully transmitted values
This commit is contained in:
parent
fabdb3c4e8
commit
9c4424ae2c
4 changed files with 14 additions and 8 deletions
|
@ -39,17 +39,19 @@ bool transport_master(matrix_row_t matrix[]) {
|
|||
static uint8_t prev_level = ~0;
|
||||
uint8_t level = get_backlight_level();
|
||||
if (level != prev_level) {
|
||||
i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIT_START, (void *)&level, sizeof(level), TIMEOUT);
|
||||
prev_level = level;
|
||||
if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIT_START, (void *)&level, sizeof(level), TIMEOUT) >= 0) {
|
||||
prev_level = level;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
# ifdef RGBLIGHT_ENABLE
|
||||
static uint32_t prev_rgb = ~0;
|
||||
uint32_t rgb = eeconfig_read_rgblight();
|
||||
uint32_t rgb = rgblight_read_dword();
|
||||
if (rgb != prev_rgb) {
|
||||
i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_START, (void *)&rgb, sizeof(rgb), TIMEOUT);
|
||||
prev_rgb = rgb;
|
||||
if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_START, (void *)&rgb, sizeof(rgb), TIMEOUT) >= 0) {
|
||||
prev_rgb = rgb;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue