diff options
author | M-AS <matthewtransformer@hotmail.com> | 2019-03-17 13:38:51 -0400 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-03-17 10:38:51 -0700 |
commit | 221ac2eabbc73c9d59583c6d78c779bbfec0d7bc (patch) | |
tree | 3f50380b649631b2d9c30bd1ce745cf82d8b973b /quantum/rgb_matrix.c | |
parent | d8df01ca5e43b6322ba2ef5c7613a871ce69282c (diff) | |
download | qmk_firmware-221ac2eabbc73c9d59583c6d78c779bbfec0d7bc.tar.gz qmk_firmware-221ac2eabbc73c9d59583c6d78c779bbfec0d7bc.zip |
New RGB Matrix effect: Single color reactive (#5330)
* Adds new RGB Matrix effect: rgb_matrix_config'd reactive LEDs
* [Docs] Adds disable for new effect
* [Docs] Added new effect to list of effects
Diffstat (limited to 'quantum/rgb_matrix.c')
-rw-r--r-- | quantum/rgb_matrix.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c index 2ed36304d..56a97e3c7 100644 --- a/quantum/rgb_matrix.c +++ b/quantum/rgb_matrix.c | |||
@@ -221,6 +221,20 @@ void rgb_matrix_solid_reactive(void) { | |||
221 | } | 221 | } |
222 | } | 222 | } |
223 | 223 | ||
224 | void rgb_matrix_solid_reactive_simple(void) | ||
225 | { | ||
226 | HSV hsv = {.h = rgb_matrix_config.hue, .s = rgb_matrix_config.sat, .v = rgb_matrix_config.val}; | ||
227 | RGB rgb; | ||
228 | |||
229 | for (int i = 0; i < DRIVER_LED_TOTAL; i++) { | ||
230 | uint16_t offset2 = g_key_hit[i] << 2; | ||
231 | offset2 = (offset2 <= 255) ? (255 - offset2) : 0; | ||
232 | hsv.v = offset2 * rgb_matrix_config.val / RGB_MATRIX_MAXIMUM_BRIGHTNESS; | ||
233 | rgb = hsv_to_rgb(hsv); | ||
234 | rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); | ||
235 | } | ||
236 | } | ||
237 | |||
224 | // alphas = color1, mods = color2 | 238 | // alphas = color1, mods = color2 |
225 | void rgb_matrix_alphas_mods(void) { | 239 | void rgb_matrix_alphas_mods(void) { |
226 | 240 | ||
@@ -755,6 +769,11 @@ void rgb_matrix_task(void) { | |||
755 | rgb_matrix_solid_reactive(); | 769 | rgb_matrix_solid_reactive(); |
756 | break; | 770 | break; |
757 | #endif | 771 | #endif |
772 | #ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
773 | case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: | ||
774 | rgb_matrix_solid_reactive_simple(); | ||
775 | break; | ||
776 | #endif | ||
758 | #ifndef DISABLE_RGB_MATRIX_SPLASH | 777 | #ifndef DISABLE_RGB_MATRIX_SPLASH |
759 | case RGB_MATRIX_SPLASH: | 778 | case RGB_MATRIX_SPLASH: |
760 | rgb_matrix_splash(); | 779 | rgb_matrix_splash(); |