diff options
| author | Ryan <fauxpark@gmail.com> | 2021-10-11 10:57:49 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-10 16:57:49 -0700 |
| commit | b487e10753c26204146ef8f1e71d18ff503675d2 (patch) | |
| tree | e207c357d2b6733ff9c0ea64e78b14498051976a /quantum | |
| parent | a7810db7ba35c5354708891ad3da317937e953d3 (diff) | |
| download | qmk_firmware-b487e10753c26204146ef8f1e71d18ff503675d2.tar.gz qmk_firmware-b487e10753c26204146ef8f1e71d18ff503675d2.zip | |
Clean up LED/RGB Matrix driver config (#14760)
Diffstat (limited to 'quantum')
| -rw-r--r-- | quantum/led_matrix/led_matrix_drivers.c | 135 | ||||
| -rw-r--r-- | quantum/rgb_matrix/rgb_matrix_drivers.c | 127 |
2 files changed, 139 insertions, 123 deletions
diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index 1d46b2c50..efe0082dc 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c | |||
| @@ -26,128 +26,123 @@ | |||
| 26 | */ | 26 | */ |
| 27 | 27 | ||
| 28 | #if defined(IS31FL3731) || defined(IS31FL3733) | 28 | #if defined(IS31FL3731) || defined(IS31FL3733) |
| 29 | |||
| 30 | # include "i2c_master.h" | 29 | # include "i2c_master.h" |
| 31 | 30 | ||
| 32 | static void init(void) { | 31 | static void init(void) { |
| 33 | i2c_init(); | 32 | i2c_init(); |
| 34 | # ifdef IS31FL3731 | 33 | |
| 35 | # ifdef LED_DRIVER_ADDR_1 | 34 | # if defined(IS31FL3731) |
| 36 | IS31FL3731_init(LED_DRIVER_ADDR_1); | 35 | IS31FL3731_init(LED_DRIVER_ADDR_1); |
| 37 | # endif | 36 | # if defined(LED_DRIVER_ADDR_2) |
| 38 | # ifdef LED_DRIVER_ADDR_2 | ||
| 39 | IS31FL3731_init(LED_DRIVER_ADDR_2); | 37 | IS31FL3731_init(LED_DRIVER_ADDR_2); |
| 40 | # endif | 38 | # if defined(LED_DRIVER_ADDR_3) |
| 41 | # ifdef LED_DRIVER_ADDR_3 | ||
| 42 | IS31FL3731_init(LED_DRIVER_ADDR_3); | 39 | IS31FL3731_init(LED_DRIVER_ADDR_3); |
| 43 | # endif | 40 | # if defined(LED_DRIVER_ADDR_4) |
| 44 | # ifdef LED_DRIVER_ADDR_4 | ||
| 45 | IS31FL3731_init(LED_DRIVER_ADDR_4); | 41 | IS31FL3731_init(LED_DRIVER_ADDR_4); |
| 46 | # endif | 42 | # endif |
| 47 | # else | ||
| 48 | # ifdef LED_DRIVER_ADDR_1 | ||
| 49 | # ifndef LED_DRIVER_SYNC_1 | ||
| 50 | # define LED_DRIVER_SYNC_1 0 | ||
| 51 | # endif | 43 | # endif |
| 52 | IS31FL3733_init(LED_DRIVER_ADDR_1, LED_DRIVER_SYNC_1); | ||
| 53 | # endif | 44 | # endif |
| 54 | # ifdef LED_DRIVER_ADDR_2 | 45 | |
| 55 | # ifndef LED_DRIVER_SYNC_2 | 46 | # elif defined(IS31FL3733) |
| 47 | # if !defined(LED_DRIVER_SYNC_1) | ||
| 48 | # define LED_DRIVER_SYNC_1 0 | ||
| 49 | # endif | ||
| 50 | IS31FL3733_init(LED_DRIVER_ADDR_1, LED_DRIVER_SYNC_1); | ||
| 51 | # if defined(LED_DRIVER_ADDR_2) | ||
| 52 | # if !defined(LED_DRIVER_SYNC_2) | ||
| 56 | # define LED_DRIVER_SYNC_2 0 | 53 | # define LED_DRIVER_SYNC_2 0 |
| 57 | # endif | 54 | # endif |
| 58 | IS31FL3733_init(LED_DRIVER_ADDR_2, LED_DRIVER_SYNC_2); | 55 | IS31FL3733_init(LED_DRIVER_ADDR_2, LED_DRIVER_SYNC_2); |
| 59 | # endif | 56 | # if defined(LED_DRIVER_ADDR_3) |
| 60 | # ifdef LED_DRIVER_ADDR_3 | 57 | # if !defined(LED_DRIVER_SYNC_3) |
| 61 | # ifndef LED_DRIVER_SYNC_3 | 58 | # define LED_DRIVER_SYNC_3 0 |
| 62 | # define LED_DRIVER_SYNC_3 0 | 59 | # endif |
| 63 | # endif | ||
| 64 | IS31FL3733_init(LED_DRIVER_ADDR_3, LED_DRIVER_SYNC_3); | 60 | IS31FL3733_init(LED_DRIVER_ADDR_3, LED_DRIVER_SYNC_3); |
| 65 | # endif | 61 | # if defined(LED_DRIVER_ADDR_4) |
| 66 | # ifdef LED_DRIVER_ADDR_4 | 62 | # if !defined(LED_DRIVER_SYNC_4) |
| 67 | # ifndef LED_DRIVER_SYNC_4 | 63 | # define LED_DRIVER_SYNC_4 0 |
| 68 | # define LED_DRIVER_SYNC_4 0 | 64 | # endif |
| 69 | # endif | ||
| 70 | IS31FL3733_init(LED_DRIVER_ADDR_4, LED_DRIVER_SYNC_4); | 65 | IS31FL3733_init(LED_DRIVER_ADDR_4, LED_DRIVER_SYNC_4); |
| 66 | # endif | ||
| 67 | # endif | ||
| 71 | # endif | 68 | # endif |
| 72 | # endif | 69 | # endif |
| 73 | 70 | ||
| 74 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { | 71 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { |
| 75 | # ifdef IS31FL3731 | 72 | # if defined(IS31FL3731) |
| 76 | IS31FL3731_set_led_control_register(index, true); | 73 | IS31FL3731_set_led_control_register(index, true); |
| 77 | # else | 74 | # elif defined(IS31FL3733) |
| 78 | IS31FL3733_set_led_control_register(index, true); | 75 | IS31FL3733_set_led_control_register(index, true); |
| 79 | # endif | 76 | # endif |
| 80 | } | 77 | } |
| 78 | |||
| 81 | // This actually updates the LED drivers | 79 | // This actually updates the LED drivers |
| 82 | # ifdef IS31FL3731 | 80 | # if defined(IS31FL3731) |
| 83 | # ifdef LED_DRIVER_ADDR_1 | ||
| 84 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); | 81 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_1, 0); |
| 85 | # endif | 82 | # if defined(LED_DRIVER_ADDR_2) |
| 86 | # ifdef LED_DRIVER_ADDR_2 | ||
| 87 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_2, 1); | 83 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_2, 1); |
| 88 | # endif | 84 | # if defined(LED_DRIVER_ADDR_3) |
| 89 | # ifdef LED_DRIVER_ADDR_3 | ||
| 90 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_3, 2); | 85 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_3, 2); |
| 91 | # endif | 86 | # if defined(LED_DRIVER_ADDR_4) |
| 92 | # ifdef LED_DRIVER_ADDR_4 | ||
| 93 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_4, 3); | 87 | IS31FL3731_update_led_control_registers(LED_DRIVER_ADDR_4, 3); |
| 88 | # endif | ||
| 89 | # endif | ||
| 94 | # endif | 90 | # endif |
| 95 | # else | 91 | |
| 96 | # ifdef LED_DRIVER_ADDR_1 | 92 | # elif defined(IS31FL3733) |
| 97 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_1, 0); | 93 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_1, 0); |
| 98 | # endif | 94 | # if defined(LED_DRIVER_ADDR_2) |
| 99 | # ifdef LED_DRIVER_ADDR_2 | ||
| 100 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_2, 1); | 95 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_2, 1); |
| 101 | # endif | 96 | # if defined(LED_DRIVER_ADDR_3) |
| 102 | # ifdef LED_DRIVER_ADDR_3 | ||
| 103 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_3, 2); | 97 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_3, 2); |
| 104 | # endif | 98 | # if defined(LED_DRIVER_ADDR_4) |
| 105 | # ifdef LED_DRIVER_ADDR_4 | ||
| 106 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_4, 3); | 99 | IS31FL3733_update_led_control_registers(LED_DRIVER_ADDR_4, 3); |
| 100 | # endif | ||
| 101 | # endif | ||
| 107 | # endif | 102 | # endif |
| 108 | # endif | 103 | # endif |
| 109 | } | 104 | } |
| 110 | 105 | ||
| 106 | # if defined(IS31FL3731) | ||
| 111 | static void flush(void) { | 107 | static void flush(void) { |
| 112 | # ifdef IS31FL3731 | ||
| 113 | # ifdef LED_DRIVER_ADDR_1 | ||
| 114 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); | 108 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); |
| 115 | # endif | 109 | # if defined(LED_DRIVER_ADDR_2) |
| 116 | # ifdef LED_DRIVER_ADDR_2 | ||
| 117 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); | 110 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); |
| 118 | # endif | 111 | # if defined(LED_DRIVER_ADDR_3) |
| 119 | # ifdef LED_DRIVER_ADDR_3 | ||
| 120 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); | 112 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); |
| 121 | # endif | 113 | # if defined(LED_DRIVER_ADDR_4) |
| 122 | # ifdef LED_DRIVER_ADDR_4 | ||
| 123 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); | 114 | IS31FL3731_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); |
| 115 | # endif | ||
| 116 | # endif | ||
| 124 | # endif | 117 | # endif |
| 125 | # else | 118 | } |
| 126 | # ifdef LED_DRIVER_ADDR_1 | 119 | |
| 120 | const led_matrix_driver_t led_matrix_driver = { | ||
| 121 | .init = init, | ||
| 122 | .flush = flush, | ||
| 123 | .set_value = IS31FL3731_set_value, | ||
| 124 | .set_value_all = IS31FL3731_set_value_all, | ||
| 125 | }; | ||
| 126 | |||
| 127 | # elif defined(IS31FL3733) | ||
| 128 | static void flush(void) { | ||
| 127 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); | 129 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_1, 0); |
| 128 | # endif | 130 | # if defined(LED_DRIVER_ADDR_2) |
| 129 | # ifdef LED_DRIVER_ADDR_2 | ||
| 130 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); | 131 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_2, 1); |
| 131 | # endif | 132 | # if defined(LED_DRIVER_ADDR_3) |
| 132 | # ifdef LED_DRIVER_ADDR_3 | ||
| 133 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); | 133 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_3, 2); |
| 134 | # endif | 134 | # if defined(LED_DRIVER_ADDR_4) |
| 135 | # ifdef LED_DRIVER_ADDR_4 | ||
| 136 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); | 135 | IS31FL3733_update_pwm_buffers(LED_DRIVER_ADDR_4, 3); |
| 136 | # endif | ||
| 137 | # endif | ||
| 137 | # endif | 138 | # endif |
| 138 | # endif | 139 | # endif |
| 139 | } | 140 | } |
| 140 | 141 | ||
| 141 | const led_matrix_driver_t led_matrix_driver = { | 142 | const led_matrix_driver_t led_matrix_driver = { |
| 142 | .init = init, | 143 | .init = init, |
| 143 | .flush = flush, | 144 | .flush = flush, |
| 144 | # ifdef IS31FL3731 | 145 | .set_value = IS31FL3733_set_value, |
| 145 | .set_value = IS31FL3731_set_value, | ||
| 146 | .set_value_all = IS31FL3731_set_value_all, | ||
| 147 | # else | ||
| 148 | .set_value = IS31FL3733_set_value, | ||
| 149 | .set_value_all = IS31FL3733_set_value_all, | 146 | .set_value_all = IS31FL3733_set_value_all, |
| 150 | # endif | ||
| 151 | }; | 147 | }; |
| 152 | |||
| 153 | #endif | 148 | #endif |
diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 2cec162e2..4335088eb 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c | |||
| @@ -24,110 +24,126 @@ | |||
| 24 | */ | 24 | */ |
| 25 | 25 | ||
| 26 | #if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) || defined(IS31FL3741) | 26 | #if defined(IS31FL3731) || defined(IS31FL3733) || defined(IS31FL3737) || defined(IS31FL3741) |
| 27 | |||
| 28 | # include "i2c_master.h" | 27 | # include "i2c_master.h" |
| 29 | 28 | ||
| 29 | // TODO: Remove this at some later date | ||
| 30 | # if defined(DRIVER_ADDR_1) && defined(DRIVER_ADDR_2) | ||
| 31 | # if DRIVER_ADDR_1 == DRIVER_ADDR_2 | ||
| 32 | # error "Setting DRIVER_ADDR_2 == DRIVER_ADDR_1 is obsolete. If you are only using one ISSI driver, set DRIVER_COUNT to 1 and remove DRIVER_ADDR_2" | ||
| 33 | # endif | ||
| 34 | # endif | ||
| 35 | |||
| 30 | static void init(void) { | 36 | static void init(void) { |
| 31 | i2c_init(); | 37 | i2c_init(); |
| 32 | # ifdef IS31FL3731 | 38 | |
| 39 | # if defined(IS31FL3731) | ||
| 33 | IS31FL3731_init(DRIVER_ADDR_1); | 40 | IS31FL3731_init(DRIVER_ADDR_1); |
| 34 | # ifdef DRIVER_ADDR_2 | 41 | # if defined(DRIVER_ADDR_2) |
| 35 | IS31FL3731_init(DRIVER_ADDR_2); | 42 | IS31FL3731_init(DRIVER_ADDR_2); |
| 36 | # endif | 43 | # if defined(DRIVER_ADDR_3) |
| 37 | # ifdef DRIVER_ADDR_3 | ||
| 38 | IS31FL3731_init(DRIVER_ADDR_3); | 44 | IS31FL3731_init(DRIVER_ADDR_3); |
| 39 | # endif | 45 | # if defined(DRIVER_ADDR_4) |
| 40 | # ifdef DRIVER_ADDR_4 | ||
| 41 | IS31FL3731_init(DRIVER_ADDR_4); | 46 | IS31FL3731_init(DRIVER_ADDR_4); |
| 47 | # endif | ||
| 48 | # endif | ||
| 42 | # endif | 49 | # endif |
| 50 | |||
| 43 | # elif defined(IS31FL3733) | 51 | # elif defined(IS31FL3733) |
| 44 | # ifndef DRIVER_SYNC_1 | 52 | # if !defined(DRIVER_SYNC_1) |
| 45 | # define DRIVER_SYNC_1 0 | 53 | # define DRIVER_SYNC_1 0 |
| 46 | # endif | 54 | # endif |
| 47 | IS31FL3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); | 55 | IS31FL3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); |
| 48 | # if defined DRIVER_ADDR_2 && (DRIVER_ADDR_1 != DRIVER_ADDR_2) | 56 | # if defined(DRIVER_ADDR_2) |
| 49 | # ifndef DRIVER_SYNC_2 | 57 | # if !defined(DRIVER_SYNC_2) |
| 50 | # define DRIVER_SYNC_2 0 | 58 | # define DRIVER_SYNC_2 0 |
| 51 | # endif | 59 | # endif |
| 52 | IS31FL3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); | 60 | IS31FL3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); |
| 53 | # endif | 61 | # if defined(DRIVER_ADDR_3) |
| 54 | # ifdef DRIVER_ADDR_3 | 62 | # if !defined(DRIVER_SYNC_3) |
| 55 | # ifndef DRIVER_SYNC_3 | 63 | # define DRIVER_SYNC_3 0 |
| 56 | # define DRIVER_SYNC_3 0 | 64 | # endif |
| 57 | # endif | ||
| 58 | IS31FL3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); | 65 | IS31FL3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); |
| 59 | # endif | 66 | # if defined(DRIVER_ADDR_4) |
| 60 | # ifdef DRIVER_ADDR_4 | 67 | # if !defined(DRIVER_SYNC_4) |
| 61 | # ifndef DRIVER_SYNC_4 | 68 | # define DRIVER_SYNC_4 0 |
| 62 | # define DRIVER_SYNC_4 0 | 69 | # endif |
| 63 | # endif | ||
| 64 | IS31FL3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); | 70 | IS31FL3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); |
| 71 | # endif | ||
| 72 | # endif | ||
| 65 | # endif | 73 | # endif |
| 74 | |||
| 66 | # elif defined(IS31FL3737) | 75 | # elif defined(IS31FL3737) |
| 67 | IS31FL3737_init(DRIVER_ADDR_1); | 76 | IS31FL3737_init(DRIVER_ADDR_1); |
| 68 | # if defined(DRIVER_ADDR_2) && (DRIVER_ADDR_2 != DRIVER_ADDR_1) // provides backward compatibility | 77 | # if defined(DRIVER_ADDR_2) |
| 69 | IS31FL3737_init(DRIVER_ADDR_2); | 78 | IS31FL3737_init(DRIVER_ADDR_2); |
| 70 | # endif | 79 | # endif |
| 71 | # else | 80 | |
| 81 | # elif defined(IS31FL3741) | ||
| 72 | IS31FL3741_init(DRIVER_ADDR_1); | 82 | IS31FL3741_init(DRIVER_ADDR_1); |
| 73 | # endif | 83 | # endif |
| 84 | |||
| 74 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { | 85 | for (int index = 0; index < DRIVER_LED_TOTAL; index++) { |
| 75 | bool enabled = true; | 86 | bool enabled = true; |
| 87 | |||
| 76 | // This only caches it for later | 88 | // This only caches it for later |
| 77 | # ifdef IS31FL3731 | 89 | # if defined(IS31FL3731) |
| 78 | IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); | 90 | IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); |
| 79 | # elif defined(IS31FL3733) | 91 | # elif defined(IS31FL3733) |
| 80 | IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); | 92 | IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); |
| 81 | # elif defined(IS31FL3737) | 93 | # elif defined(IS31FL3737) |
| 82 | IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); | 94 | IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); |
| 83 | # else | 95 | # elif defined(IS31FL3741) |
| 84 | IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); | 96 | IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); |
| 85 | # endif | 97 | # endif |
| 86 | } | 98 | } |
| 99 | |||
| 87 | // This actually updates the LED drivers | 100 | // This actually updates the LED drivers |
| 88 | # ifdef IS31FL3731 | 101 | # if defined(IS31FL3731) |
| 89 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); | 102 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); |
| 90 | # ifdef DRIVER_ADDR_2 | 103 | # if defined(DRIVER_ADDR_2) |
| 91 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); | 104 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); |
| 92 | # endif | 105 | # if defined(DRIVER_ADDR_3) |
| 93 | # ifdef DRIVER_ADDR_3 | ||
| 94 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_3, 2); | 106 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_3, 2); |
| 95 | # endif | 107 | # if defined(DRIVER_ADDR_4) |
| 96 | # ifdef DRIVER_ADDR_4 | ||
| 97 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_4, 3); | 108 | IS31FL3731_update_led_control_registers(DRIVER_ADDR_4, 3); |
| 109 | # endif | ||
| 110 | # endif | ||
| 98 | # endif | 111 | # endif |
| 112 | |||
| 99 | # elif defined(IS31FL3733) | 113 | # elif defined(IS31FL3733) |
| 100 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); | 114 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); |
| 101 | # ifdef DRIVER_ADDR_2 | 115 | # if defined(DRIVER_ADDR_2) |
| 102 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); | 116 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); |
| 103 | # endif | 117 | # if defined(DRIVER_ADDR_3) |
| 104 | # ifdef DRIVER_ADDR_3 | ||
| 105 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_3, 2); | 118 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_3, 2); |
| 106 | # endif | 119 | # if defined(DRIVER_ADDR_4) |
| 107 | # ifdef DRIVER_ADDR_4 | ||
| 108 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_4, 3); | 120 | IS31FL3733_update_led_control_registers(DRIVER_ADDR_4, 3); |
| 121 | # endif | ||
| 122 | # endif | ||
| 109 | # endif | 123 | # endif |
| 124 | |||
| 110 | # elif defined(IS31FL3737) | 125 | # elif defined(IS31FL3737) |
| 111 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, 0); | 126 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, 0); |
| 112 | # if defined(DRIVER_ADDR_2) && (DRIVER_ADDR_2 != DRIVER_ADDR_1) // provides backward compatibility | 127 | # if defined(DRIVER_ADDR_2) |
| 113 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_2, 1); | 128 | IS31FL3737_update_led_control_registers(DRIVER_ADDR_2, 1); |
| 114 | # endif | 129 | # endif |
| 115 | # else | 130 | |
| 131 | # elif defined(IS31FL3741) | ||
| 116 | IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); | 132 | IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); |
| 117 | # endif | 133 | # endif |
| 118 | } | 134 | } |
| 119 | 135 | ||
| 120 | # ifdef IS31FL3731 | 136 | # if defined(IS31FL3731) |
| 121 | static void flush(void) { | 137 | static void flush(void) { |
| 122 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); | 138 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); |
| 123 | # ifdef DRIVER_ADDR_2 | 139 | # if defined(DRIVER_ADDR_2) |
| 124 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); | 140 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); |
| 125 | # endif | 141 | # if defined(DRIVER_ADDR_3) |
| 126 | # ifdef DRIVER_ADDR_3 | ||
| 127 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_3, 2); | 142 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_3, 2); |
| 128 | # endif | 143 | # if defined(DRIVER_ADDR_4) |
| 129 | # ifdef DRIVER_ADDR_4 | ||
| 130 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_4, 3); | 144 | IS31FL3731_update_pwm_buffers(DRIVER_ADDR_4, 3); |
| 145 | # endif | ||
| 146 | # endif | ||
| 131 | # endif | 147 | # endif |
| 132 | } | 148 | } |
| 133 | 149 | ||
| @@ -137,17 +153,18 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 137 | .set_color = IS31FL3731_set_color, | 153 | .set_color = IS31FL3731_set_color, |
| 138 | .set_color_all = IS31FL3731_set_color_all, | 154 | .set_color_all = IS31FL3731_set_color_all, |
| 139 | }; | 155 | }; |
| 156 | |||
| 140 | # elif defined(IS31FL3733) | 157 | # elif defined(IS31FL3733) |
| 141 | static void flush(void) { | 158 | static void flush(void) { |
| 142 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); | 159 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); |
| 143 | # ifdef DRIVER_ADDR_2 | 160 | # if defined(DRIVER_ADDR_2) |
| 144 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); | 161 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); |
| 145 | # endif | 162 | # if defined(DRIVER_ADDR_3) |
| 146 | # ifdef DRIVER_ADDR_3 | ||
| 147 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3, 2); | 163 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3, 2); |
| 148 | # endif | 164 | # if defined(DRIVER_ADDR_4) |
| 149 | # ifdef DRIVER_ADDR_4 | ||
| 150 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4, 3); | 165 | IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4, 3); |
| 166 | # endif | ||
| 167 | # endif | ||
| 151 | # endif | 168 | # endif |
| 152 | } | 169 | } |
| 153 | 170 | ||
| @@ -157,10 +174,11 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 157 | .set_color = IS31FL3733_set_color, | 174 | .set_color = IS31FL3733_set_color, |
| 158 | .set_color_all = IS31FL3733_set_color_all, | 175 | .set_color_all = IS31FL3733_set_color_all, |
| 159 | }; | 176 | }; |
| 177 | |||
| 160 | # elif defined(IS31FL3737) | 178 | # elif defined(IS31FL3737) |
| 161 | static void flush(void) { | 179 | static void flush(void) { |
| 162 | IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, 0); | 180 | IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, 0); |
| 163 | # if defined(DRIVER_ADDR_2) && (DRIVER_ADDR_2 != DRIVER_ADDR_1) // provides backward compatibility | 181 | # if defined(DRIVER_ADDR_2) |
| 164 | IS31FL3737_update_pwm_buffers(DRIVER_ADDR_2, 1); | 182 | IS31FL3737_update_pwm_buffers(DRIVER_ADDR_2, 1); |
| 165 | # endif | 183 | # endif |
| 166 | } | 184 | } |
| @@ -171,10 +189,11 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 171 | .set_color = IS31FL3737_set_color, | 189 | .set_color = IS31FL3737_set_color, |
| 172 | .set_color_all = IS31FL3737_set_color_all, | 190 | .set_color_all = IS31FL3737_set_color_all, |
| 173 | }; | 191 | }; |
| 174 | # else | 192 | |
| 193 | # elif defined(IS31FL3741) | ||
| 175 | static void flush(void) { | 194 | static void flush(void) { |
| 176 | IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); | 195 | IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); |
| 177 | # if defined(DRIVER_ADDR_2) && (DRIVER_ADDR_2 != DRIVER_ADDR_1) // provides backward compatibility | 196 | # if defined(DRIVER_ADDR_2) |
| 178 | IS31FL3741_update_pwm_buffers(DRIVER_ADDR_2, 1); | 197 | IS31FL3741_update_pwm_buffers(DRIVER_ADDR_2, 1); |
| 179 | # endif | 198 | # endif |
| 180 | } | 199 | } |
| @@ -189,17 +208,19 @@ const rgb_matrix_driver_t rgb_matrix_driver = { | |||
| 189 | 208 | ||
| 190 | #elif defined(AW20216) | 209 | #elif defined(AW20216) |
| 191 | # include "spi_master.h" | 210 | # include "spi_master.h" |
| 211 | |||
| 192 | static void init(void) { | 212 | static void init(void) { |
| 193 | spi_init(); | 213 | spi_init(); |
| 214 | |||
| 194 | AW20216_init(DRIVER_1_CS, DRIVER_1_EN); | 215 | AW20216_init(DRIVER_1_CS, DRIVER_1_EN); |
| 195 | # ifdef DRIVER_2_CS | 216 | # if defined(DRIVER_2_CS) |
| 196 | AW20216_init(DRIVER_2_CS, DRIVER_2_EN); | 217 | AW20216_init(DRIVER_2_CS, DRIVER_2_EN); |
| 197 | # endif | 218 | # endif |
| 198 | } | 219 | } |
| 199 | 220 | ||
| 200 | static void flush(void) { | 221 | static void flush(void) { |
| 201 | AW20216_update_pwm_buffers(DRIVER_1_CS, 0); | 222 | AW20216_update_pwm_buffers(DRIVER_1_CS, 0); |
| 202 | # ifdef DRIVER_2_CS | 223 | # if defined(DRIVER_2_CS) |
| 203 | AW20216_update_pwm_buffers(DRIVER_2_CS, 1); | 224 | AW20216_update_pwm_buffers(DRIVER_2_CS, 1); |
| 204 | # endif | 225 | # endif |
| 205 | } | 226 | } |
