3 new LED effect animations (#9827)
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Erovia <Erovia@users.noreply.github.com>python_optimizations 0.12.30
parent
7d33d1bace
commit
a3cd1290be
@ -0,0 +1,22 @@ |
|||||||
|
#ifndef DISABLE_RGB_MATRIX_HUE_BREATHING |
||||||
|
RGB_MATRIX_EFFECT(HUE_BREATHING) |
||||||
|
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS |
||||||
|
|
||||||
|
// Change huedelta to adjust range of hue change. 0-255.
|
||||||
|
// Hue Breathing - All LED's light up
|
||||||
|
bool HUE_BREATHING(effect_params_t* params) { |
||||||
|
RGB_MATRIX_USE_LIMITS(led_min, led_max); |
||||||
|
uint8_t huedelta = 12; |
||||||
|
HSV hsv = rgb_matrix_config.hsv; |
||||||
|
uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8); |
||||||
|
hsv.h = hsv.h + scale8(abs8(sin8(time) - 128) * 2, huedelta); |
||||||
|
RGB rgb = hsv_to_rgb(hsv); |
||||||
|
for (uint8_t i = led_min; i < led_max; i++) { |
||||||
|
RGB_MATRIX_TEST_LED_FLAGS(); |
||||||
|
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); |
||||||
|
} |
||||||
|
return led_max < DRIVER_LED_TOTAL; |
||||||
|
} |
||||||
|
|
||||||
|
# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||||
|
#endif // DISABLE_RGB_HUE_BREATHING
|
@ -0,0 +1,17 @@ |
|||||||
|
#ifndef DISABLE_RGB_MATRIX_HUE_PENDULUM |
||||||
|
RGB_MATRIX_EFFECT(HUE_PENDULUM) |
||||||
|
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS |
||||||
|
|
||||||
|
// Change huedelta to adjust range of hue change. 0-255.
|
||||||
|
// Looks better with a low value and slow speed for subtle change.
|
||||||
|
// Hue Pendulum - color changes in a wave to the right before reversing direction
|
||||||
|
static HSV HUE_PENDULUM_math(HSV hsv, uint8_t i, uint8_t time) { |
||||||
|
uint8_t huedelta = 12; |
||||||
|
hsv.h = hsv.h + scale8(abs8(sin8(time) + (g_led_config.point[i].x) - 128) * 2, huedelta); |
||||||
|
return hsv; |
||||||
|
} |
||||||
|
|
||||||
|
bool HUE_PENDULUM(effect_params_t* params) { return effect_runner_i(params, &HUE_PENDULUM_math); } |
||||||
|
|
||||||
|
# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||||
|
#endif // DISABLE_RGB_HUE_PENDULUM
|
@ -0,0 +1,17 @@ |
|||||||
|
#ifndef DISABLE_RGB_MATRIX_HUE_WAVE |
||||||
|
RGB_MATRIX_EFFECT(HUE_WAVE) |
||||||
|
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS |
||||||
|
|
||||||
|
// Change huedelta to adjust range of hue change. 0-255.
|
||||||
|
// Looks better with a low value and slow speed for subtle change.
|
||||||
|
// Hue Wave - color changes in a wave to the right
|
||||||
|
static HSV HUE_WAVE_math(HSV hsv, uint8_t i, uint8_t time) { |
||||||
|
uint8_t huedelta = 24; |
||||||
|
hsv.h = hsv.h + scale8(abs8(g_led_config.point[i].x - time), huedelta); |
||||||
|
return hsv; |
||||||
|
} |
||||||
|
|
||||||
|
bool HUE_WAVE(effect_params_t* params) { return effect_runner_i(params, &HUE_WAVE_math); } |
||||||
|
|
||||||
|
# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||||
|
#endif // DISABLE_RGB_HUE_WAVE
|
Loading…
Reference in new issue