diff options
Diffstat (limited to 'quantum/rgb_matrix_drivers.c')
| -rw-r--r-- | quantum/rgb_matrix_drivers.c | 45 | 
1 files changed, 41 insertions, 4 deletions
| diff --git a/quantum/rgb_matrix_drivers.c b/quantum/rgb_matrix_drivers.c index 2978e7bed9..a4db86d196 100644 --- a/quantum/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix_drivers.c @@ -41,7 +41,28 @@ static void init(void) {      IS31FL3731_init(DRIVER_ADDR_4);  #        endif  #    elif defined(IS31FL3733) -    IS31FL3733_init(DRIVER_ADDR_1, 0); +#        ifndef DRIVER_SYNC_1 +#            define DRIVER_SYNC_1 0 +#        endif +    IS31FL3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); +#        if defined DRIVER_ADDR_2 && (DRIVER_ADDR_1 != DRIVER_ADDR_2) +#            ifndef DRIVER_SYNC_2 +#                define DRIVER_SYNC_2 0 +#            endif +    IS31FL3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); +#        endif +#        ifdef DRIVER_ADDR_3 +#            ifndef DRIVER_SYNC_3 +#                define DRIVER_SYNC_3 0 +#            endif +    IS31FL3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); +#        endif +#        ifdef DRIVER_ADDR_4 +#            ifndef DRIVER_SYNC_4 +#                define DRIVER_SYNC_4 0 +#            endif +    IS31FL3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); +#        endif  #    elif defined(IS31FL3737)      IS31FL3737_init(DRIVER_ADDR_1);  #    else @@ -74,7 +95,15 @@ static void init(void) {  #        endif  #    elif defined(IS31FL3733)      IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); +#        ifdef DRIVER_ADDR_2      IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); +#        endif +#        ifdef DRIVER_ADDR_3 +    IS31FL3733_update_led_control_registers(DRIVER_ADDR_3, 2); +#        endif +#        ifdef DRIVER_ADDR_4 +    IS31FL3733_update_led_control_registers(DRIVER_ADDR_4, 3); +#        endif  #    elif defined(IS31FL3737)      IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, DRIVER_ADDR_2);  #    else @@ -105,13 +134,21 @@ const rgb_matrix_driver_t rgb_matrix_driver = {  #    elif defined(IS31FL3733)  static void flush(void) {      IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); +#        ifdef DRIVER_ADDR_2      IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); +#        endif +#        ifdef DRIVER_ADDR_3 +    IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3, 2); +#        endif +#        ifdef DRIVER_ADDR_4 +    IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4, 3); +#        endif  }  const rgb_matrix_driver_t rgb_matrix_driver = { -    .init = init, -    .flush = flush, -    .set_color = IS31FL3733_set_color, +    .init          = init, +    .flush         = flush, +    .set_color     = IS31FL3733_set_color,      .set_color_all = IS31FL3733_set_color_all,  };  #    elif defined(IS31FL3737) | 
