diff options
Diffstat (limited to 'quantum/rgb_matrix_animations/hue_breathing_anim.h')
-rw-r--r-- | quantum/rgb_matrix_animations/hue_breathing_anim.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/quantum/rgb_matrix_animations/hue_breathing_anim.h b/quantum/rgb_matrix_animations/hue_breathing_anim.h new file mode 100644 index 000000000..54dea958a --- /dev/null +++ b/quantum/rgb_matrix_animations/hue_breathing_anim.h | |||
@@ -0,0 +1,22 @@ | |||
1 | #ifndef DISABLE_RGB_MATRIX_HUE_BREATHING | ||
2 | RGB_MATRIX_EFFECT(HUE_BREATHING) | ||
3 | # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
4 | |||
5 | // Change huedelta to adjust range of hue change. 0-255. | ||
6 | // Hue Breathing - All LED's light up | ||
7 | bool HUE_BREATHING(effect_params_t* params) { | ||
8 | RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
9 | uint8_t huedelta = 12; | ||
10 | HSV hsv = rgb_matrix_config.hsv; | ||
11 | uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); | ||
12 | hsv.h = hsv.h + scale8(abs8(sin8(time) - 128) * 2, huedelta); | ||
13 | RGB rgb = hsv_to_rgb(hsv); | ||
14 | for (uint8_t i = led_min; i < led_max; i++) { | ||
15 | RGB_MATRIX_TEST_LED_FLAGS(); | ||
16 | rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); | ||
17 | } | ||
18 | return led_max < DRIVER_LED_TOTAL; | ||
19 | } | ||
20 | |||
21 | # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
22 | #endif // DISABLE_RGB_HUE_BREATHING | ||