forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Spirals, Pinwheels, and Documentation....Oh My! RGB Matrix Effects (q…
…mk#5877) * Spirals, Pinwheels, and Documentation....Oh My! * Spiral effect band thickness adjustments * Fixing animation spin directions
- Loading branch information
1 parent
a0d6c5a
commit 270b39b
Showing
9 changed files
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
quantum/rgb_matrix_animations/colorband_pinwheel_sat_anim.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
RGB_MATRIX_EFFECT(BAND_PINWHEEL_SAT) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool BAND_PINWHEEL_SAT(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { rgb_matrix_config.hue, 0, rgb_matrix_config.val }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 2); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
hsv.s = rgb_matrix_config.sat - time - atan2_8(dy, dx) * 3; | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_BAND_PINWHEEL_SAT |
22 changes: 22 additions & 0 deletions
22
quantum/rgb_matrix_animations/colorband_pinwheel_val_anim.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
RGB_MATRIX_EFFECT(BAND_PINWHEEL_VAL) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool BAND_PINWHEEL_VAL(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { rgb_matrix_config.hue, rgb_matrix_config.sat, 0 }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 2); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
hsv.v = rgb_matrix_config.val - time - atan2_8(dy, dx) * 3; | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_BAND_PINWHEEL_VAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
RGB_MATRIX_EFFECT(BAND_SPIRAL_SAT) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool BAND_SPIRAL_SAT(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { rgb_matrix_config.hue, 0, rgb_matrix_config.val }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 2); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
uint8_t dist = sqrt16(dx * dx + dy * dy); | ||
hsv.s = rgb_matrix_config.sat + dist - time - atan2_8(dy, dx); | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_BAND_SPIRAL_SAT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
RGB_MATRIX_EFFECT(BAND_SPIRAL_VAL) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool BAND_SPIRAL_VAL(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { rgb_matrix_config.hue, rgb_matrix_config.sat, 0 }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 2); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
uint8_t dist = sqrt16(dx * dx + dy * dy); | ||
hsv.v = rgb_matrix_config.val + dist - time - atan2_8(dy, dx); | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_BAND_SPIRAL_VAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#ifndef DISABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
RGB_MATRIX_EFFECT(CYCLE_PINWHEEL) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool CYCLE_PINWHEEL(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { 0, rgb_matrix_config.sat, rgb_matrix_config.val }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 4); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
hsv.h = atan2_8(dy, dx) + time; | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_CYCLE_PINWHEEL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#ifndef DISABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
RGB_MATRIX_EFFECT(CYCLE_SPIRAL) | ||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS | ||
|
||
bool CYCLE_SPIRAL(effect_params_t* params) { | ||
RGB_MATRIX_USE_LIMITS(led_min, led_max); | ||
|
||
HSV hsv = { 0, rgb_matrix_config.sat, rgb_matrix_config.val }; | ||
uint8_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 2); | ||
for (uint8_t i = led_min; i < led_max; i++) { | ||
RGB_MATRIX_TEST_LED_FLAGS(); | ||
int16_t dx = g_led_config.point[i].x - 112; | ||
int16_t dy = g_led_config.point[i].y - 32; | ||
uint8_t dist = sqrt16(dx * dx + dy * dy); | ||
hsv.h = dist - time - atan2_8(dy, dx); | ||
RGB rgb = hsv_to_rgb(hsv); | ||
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_MATRIX_CYCLE_SPIRAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters