aboutsummaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorRyan <[email protected]>2024-10-24 15:27:24 +1100
committerGitHub <[email protected]>2024-10-24 15:27:24 +1100
commitbb9625ba550dbe3bbd2967f488c4ee92815637f0 (patch)
tree9275276b7ba40626a4e97658c92ca210b5a5f29e /quantum
parent11db924a31de6f075fd9d9fc54bb0ab89fe7ad50 (diff)
downloadqmk_firmware-bb9625ba550dbe3bbd2967f488c4ee92815637f0.tar.gz
qmk_firmware-bb9625ba550dbe3bbd2967f488c4ee92815637f0.zip
RGBLight: Improve RGB Test animation (#24477)
Diffstat (limited to 'quantum')
-rw-r--r--quantum/rgblight/rgblight.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c
index 6426ccf2c8..ddccc9bae3 100644
--- a/quantum/rgblight/rgblight.c
+++ b/quantum/rgblight/rgblight.c
@@ -1342,29 +1342,13 @@ void rgblight_effect_christmas(animation_status_t *anim) {
__attribute__((weak)) const uint16_t RGBLED_RGBTEST_INTERVALS[] PROGMEM = {1024};
void rgblight_effect_rgbtest(animation_status_t *anim) {
- static uint8_t maxval = 0;
- uint8_t g;
- uint8_t r;
- uint8_t b;
-
- if (maxval == 0) {
- rgb_t rgb = hsv_to_rgb((hsv_t){0, 255, RGBLIGHT_LIMIT_VAL});
- maxval = rgb.r;
- }
- g = r = b = 0;
- switch (anim->pos) {
- case 0:
- r = maxval;
- break;
- case 1:
- g = maxval;
- break;
- case 2:
- b = maxval;
- break;
- }
+ uint8_t val = rgblight_get_val();
+
+ uint8_t r = anim->pos & 1 ? val : 0;
+ uint8_t g = anim->pos & 2 ? val : 0;
+ uint8_t b = anim->pos & 4 ? val : 0;
rgblight_setrgb(r, g, b);
- anim->pos = (anim->pos + 1) % 3;
+ anim->pos = (anim->pos + 1) % 8;
}
#endif