Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3 new LED effect animations #9827

Merged
merged 12 commits into from
Apr 3, 2021
22 changes: 22 additions & 0 deletions quantum/rgb_matrix_animations/hue_breathing_anim.h
Original file line number Diff line number Diff line change
@@ -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
TurtleHunter marked this conversation as resolved.
Show resolved Hide resolved
17 changes: 17 additions & 0 deletions quantum/rgb_matrix_animations/hue_pendulum_anim.h
Original file line number Diff line number Diff line change
@@ -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
TurtleHunter marked this conversation as resolved.
Show resolved Hide resolved
17 changes: 17 additions & 0 deletions quantum/rgb_matrix_animations/hue_wave_anim.h
Original file line number Diff line number Diff line change
@@ -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
TurtleHunter marked this conversation as resolved.
Show resolved Hide resolved
3 changes: 3 additions & 0 deletions quantum/rgb_matrix_animations/rgb_matrix_effects.inc
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,6 @@
#include "rgb_matrix_animations/solid_reactive_nexus.h"
#include "rgb_matrix_animations/splash_anim.h"
#include "rgb_matrix_animations/solid_splash_anim.h"
#include "rgb_matrix_animations/hue_breathing_anim.h"
TurtleHunter marked this conversation as resolved.
Show resolved Hide resolved
#include "rgb_matrix_animations/hue_pendulum_anim.h"
#include "rgb_matrix_animations/hue_wave_anim.h"