diff options
Diffstat (limited to 'quantum/rgb_matrix_drivers.c')
| -rw-r--r-- | quantum/rgb_matrix_drivers.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/quantum/rgb_matrix_drivers.c b/quantum/rgb_matrix_drivers.c index ea41b0d39..204b6c551 100644 --- a/quantum/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix_drivers.c | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | * be here if shared between boards. | 23 | * be here if shared between boards. |
| 24 | */ | 24 | */ |
| 25 | 25 | ||
| 26 | #if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) | 26 | #if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) || defined(IS31FL3741) |
| 27 | 27 | ||
| 28 | # include "i2c_master.h" | 28 | # include "i2c_master.h" |
| 29 | 29 | ||
| @@ -34,8 +34,10 @@ static void init(void) { | |||
| 34 | IS31FL3731_init(DRIVER_ADDR_2); | 34 | IS31FL3731_init(DRIVER_ADDR_2); |
| 35 | # elif defined(IS31FL3733) | 35 | # elif defined(IS31FL3733) |
| 36 | IS31FL3733_init(DRIVER_ADDR_1, 0); | 36 | IS31FL3733_init(DRIVER_ADDR_1, 0); |
| 37 | # else | 37 | # elif defined(IS31FL3737) |
| 38 | IS31FL3737_init(DRIVER_ADDR_1); | 38 | IS31FL3737_init(DRIVER_ADDR_1); |
| 39 | # else | ||
| 40 | IS31FL3741_init(DRIVER_ADDR_1); | ||
| 39 | # endif | 41 | # endif |
| 40 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { | 42 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { |
| 41 | bool enabled = true; | 43 | bool enabled = true; |
| @@ -44,8 +46,10 @@ static void init(void) { | |||
| 44 | IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); | 46 | IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); |
| 45 | # elif defined(IS31FL3733) | 47 | # elif defined(IS31FL3733) |
| 46 | IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); | 48 | IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); |
| 47 | # else | 49 | # elif defined(IS31FL3737) |
| 48 | IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); | 50 | IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); |
| 51 | # else | ||
| 52 | IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); | ||
| 49 | # endif | 53 | # endif |
| 50 | } | 54 | } |
| 51 | // This actually updates the LED drivers | 55 | // This actually updates the LED drivers |
| @@ -55,8 +59,10 @@ static void init(void) { | |||
| 55 | # elif defined(IS31FL3733) | 59 | # elif defined(IS31FL3733) |
| 56 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); | 60 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); |
| 57 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); | 61 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); |
| 58 | # else | 62 | # elif defined(IS31FL3737) |
| 59 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, DRIVER_ADDR_2); | 63 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, DRIVER_ADDR_2); |
| 64 | # else | ||
| 65 | IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); | ||
| 60 | # endif | 66 | # endif |
| 61 | } | 67 | } |
| 62 | 68 | ||
| @@ -84,7 +90,7 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 84 | .set_color = IS31FL3733_set_color, | 90 | .set_color = IS31FL3733_set_color, |
| 85 | .set_color_all = IS31FL3733_set_color_all, | 91 | .set_color_all = IS31FL3733_set_color_all, |
| 86 | }; | 92 | }; |
| 87 | # else | 93 | # elif defined(IS31FL3737) |
| 88 | static void flush(void) { IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, DRIVER_ADDR_2); } | 94 | static void flush(void) { IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, DRIVER_ADDR_2); } |
| 89 | 95 | ||
| 90 | const rgb_matrix_driver_t rgb_matrix_driver = { | 96 | const rgb_matrix_driver_t rgb_matrix_driver = { |
| @@ -93,6 +99,17 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 93 | .set_color = IS31FL3737_set_color, | 99 | .set_color = IS31FL3737_set_color, |
| 94 | .set_color_all = IS31FL3737_set_color_all, | 100 | .set_color_all = IS31FL3737_set_color_all, |
| 95 | }; | 101 | }; |
| 102 | # else | ||
| 103 | static void flush(void) { | ||
| 104 | IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, DRIVER_ADDR_2); | ||
| 105 | } | ||
| 106 | |||
| 107 | const rgb_matrix_driver_t rgb_matrix_driver = { | ||
| 108 | .init = init, | ||
| 109 | .flush = flush, | ||
| 110 | .set_color = IS31FL3741_set_color, | ||
| 111 | .set_color_all = IS31FL3741_set_color_all, | ||
| 112 | }; | ||
| 96 | # endif | 113 | # endif |
| 97 | 114 | ||
| 98 | #elif defined(WS2812) | 115 | #elif defined(WS2812) |
