diff options
author | Vlad K <vkvitnevski@gmail.com> | 2021-11-01 15:04:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 09:04:37 +1100 |
commit | a29ca1e7f1a5addfde163b158399684505453fc9 (patch) | |
tree | 3a98dc034d034c4a5e8a30b1e744d7793ecbc00b /quantum/led_matrix/led_matrix.c | |
parent | 7f8faa429e0c0662cec34a7d60e33ca58333d6d7 (diff) | |
download | qmk_firmware-a29ca1e7f1a5addfde163b158399684505453fc9.tar.gz qmk_firmware-a29ca1e7f1a5addfde163b158399684505453fc9.zip |
Add support for ISSI drivers on both sides of a split keyboard (#13842)
* Gets RGB working on a split keyboard with IS31FL3733. Currently needs small tweak to re-enable WS2812
* Added helper function
* Trying to integrate the function
* Moved functionality into a macro
* Swapped conditional for a macro everywhere
* Tidying up
* More code cleanup
* Documentation updates
* Fixed formatting via linter
* Switching to a function from a macro
* Fixed compile error
* Fixing WS2812 behavior. UNTESTED.
* Updated documentation about the driver addresses.
* Fixed code for WS2812
* Trying to add in LED_MATRIX support
* Updated effects for LED matrix
* Updated third-party effect defines.
* Ran format-c on modified files
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* Move to static inline. Avoids issues with gcc v8+
* Move helper function for LED_matrix to static inline to avoid issues with gcc v8+
Co-authored-by: Vlad Kvitnevskiy <vladkvit@outlook.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'quantum/led_matrix/led_matrix.c')
-rw-r--r-- | quantum/led_matrix/led_matrix.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 85556d157..8d6a56f27 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c | |||
@@ -156,20 +156,10 @@ uint8_t led_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *l | |||
156 | void led_matrix_update_pwm_buffers(void) { led_matrix_driver.flush(); } | 156 | void led_matrix_update_pwm_buffers(void) { led_matrix_driver.flush(); } |
157 | 157 | ||
158 | void led_matrix_set_value(int index, uint8_t value) { | 158 | void led_matrix_set_value(int index, uint8_t value) { |
159 | #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) | ||
160 | if (!is_keyboard_left() && index >= k_led_matrix_split[0]) | ||
161 | # ifdef USE_CIE1931_CURVE | ||
162 | led_matrix_driver.set_value(index - k_led_matrix_split[0], pgm_read_byte(&CIE1931_CURVE[value])); | ||
163 | # else | ||
164 | led_matrix_driver.set_value(index - k_led_matrix_split[0], value); | ||
165 | # endif | ||
166 | else if (is_keyboard_left() && index < k_led_matrix_split[0]) | ||
167 | #endif | ||
168 | #ifdef USE_CIE1931_CURVE | 159 | #ifdef USE_CIE1931_CURVE |
169 | led_matrix_driver.set_value(index, pgm_read_byte(&CIE1931_CURVE[value])); | 160 | value = pgm_read_byte(&CIE1931_CURVE[value]); |
170 | #else | ||
171 | led_matrix_driver.set_value(index, value); | ||
172 | #endif | 161 | #endif |
162 | led_matrix_driver.set_value(index, value); | ||
173 | } | 163 | } |
174 | 164 | ||
175 | void led_matrix_set_value_all(uint8_t value) { | 165 | void led_matrix_set_value_all(uint8_t value) { |