~ruther/qmk_firmware

12e6d412023b23c64980d30704ae11892e33c512 — Rainer Clasen 6 years ago 2d5c16d
[Split] fix split_common i2c backlight disabling (#3886)

slave backlight was always on - as get_backlight_level() doesn't
indicate if the backlight is enabled or not.

also updated the corosponding code for serial transport to stop peeking
directly at 'internal' backlight_config structure.
1 files changed, 2 insertions(+), 3 deletions(-)

M quantum/split_common/transport.c
M quantum/split_common/transport.c => quantum/split_common/transport.c +2 -3
@@ 13,7 13,6 @@

#ifdef BACKLIGHT_ENABLE
#  include "backlight.h"
extern backlight_config_t backlight_config;
#endif

#ifdef ENCODER_ENABLE


@@ 55,7 54,7 @@ bool transport_master(matrix_row_t matrix[]) {

  // write backlight info
#  ifdef BACKLIGHT_ENABLE
  uint8_t level = get_backlight_level();
  uint8_t level = is_backlight_enabled() ? get_backlight_level() : 0;
  if (level != i2c_buffer->backlight_level) {
    if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIGHT_START, (void *)&level, sizeof(level), TIMEOUT) >= 0) {
      i2c_buffer->backlight_level = level;


@@ 223,7 222,7 @@ bool transport_master(matrix_row_t matrix[]) {

#  ifdef BACKLIGHT_ENABLE
  // Write backlight level for slave to read
  serial_m2s_buffer.backlight_level = backlight_config.enable ? backlight_config.level : 0;
  serial_m2s_buffer.backlight_level = is_backlight_enabled() ? get_backlight_level() : 0;
#  endif

#  ifdef ENCODER_ENABLE