hue_pendulum_anim.h 723 B

12345678910111213141516171819
  1. #ifdef ENABLE_RGB_MATRIX_HUE_PENDULUM
  2. RGB_MATRIX_EFFECT(HUE_PENDULUM)
  3. # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
  4. // Change huedelta to adjust range of hue change. 0-255.
  5. // Looks better with a low value and slow speed for subtle change.
  6. // Hue Pendulum - color changes in a wave to the right before reversing direction
  7. static HSV HUE_PENDULUM_math(HSV hsv, uint8_t i, uint8_t time) {
  8. uint8_t huedelta = 12;
  9. hsv.h = hsv.h + scale8(abs8(sin8(time) + (g_led_config.point[i].x) - 128) * 2, huedelta);
  10. return hsv;
  11. }
  12. bool HUE_PENDULUM(effect_params_t* params) {
  13. return effect_runner_i(params, &HUE_PENDULUM_math);
  14. }
  15. # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
  16. #endif // DISABLE_RGB_HUE_PENDULUM