diff options
Diffstat (limited to 'docs/feature_rgb_matrix.md')
| -rw-r--r-- | docs/feature_rgb_matrix.md | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 41d0bca37..fa06e46e4 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md | |||
| @@ -49,6 +49,8 @@ Here is an example using 2 drivers. | |||
| 49 | 49 | ||
| 50 | !> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. | 50 | !> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. |
| 51 | 51 | ||
| 52 | For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`. | ||
| 53 | |||
| 52 | Define these arrays listing all the LEDs in your `<keyboard>.c`: | 54 | Define these arrays listing all the LEDs in your `<keyboard>.c`: |
| 53 | 55 | ||
| 54 | ```c | 56 | ```c |
| @@ -540,7 +542,7 @@ static bool my_cool_effect(effect_params_t* params) { | |||
| 540 | for (uint8_t i = led_min; i < led_max; i++) { | 542 | for (uint8_t i = led_min; i < led_max; i++) { |
| 541 | rgb_matrix_set_color(i, 0xff, 0xff, 0x00); | 543 | rgb_matrix_set_color(i, 0xff, 0xff, 0x00); |
| 542 | } | 544 | } |
| 543 | return led_max < DRIVER_LED_TOTAL; | 545 | return rgb_matrix_check_finished_leds(led_max); |
| 544 | } | 546 | } |
| 545 | 547 | ||
| 546 | // e.g: A more complex effect, relying on external methods and state, with | 548 | // e.g: A more complex effect, relying on external methods and state, with |
| @@ -554,8 +556,7 @@ static bool my_cool_effect2_complex_run(effect_params_t* params) { | |||
| 554 | for (uint8_t i = led_min; i < led_max; i++) { | 556 | for (uint8_t i = led_min; i < led_max; i++) { |
| 555 | rgb_matrix_set_color(i, 0xff, some_global_state++, 0xff); | 557 | rgb_matrix_set_color(i, 0xff, some_global_state++, 0xff); |
| 556 | } | 558 | } |
| 557 | 559 | return rgb_matrix_check_finished_leds(led_max); | |
| 558 | return led_max < DRIVER_LED_TOTAL; | ||
| 559 | } | 560 | } |
| 560 | static bool my_cool_effect2(effect_params_t* params) { | 561 | static bool my_cool_effect2(effect_params_t* params) { |
| 561 | if (params->init) my_cool_effect2_complex_init(params); | 562 | if (params->init) my_cool_effect2_complex_init(params); |
