~ruther/qmk_firmware

77092675aa7ec001e6466f5ab099dcc9fbcfc856 — Albert Y 2 years ago 40fddcb
Update RGB matrix reactive gradient timer scale (#19415)

M quantum/rgb_matrix/animations/solid_reactive_anim.h => quantum/rgb_matrix/animations/solid_reactive_anim.h +1 -1
@@ 5,7 5,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE)

static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) {
#            ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
    hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
    hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
#            endif
    hsv.h += qsub8(130, offset);
    return hsv;

M quantum/rgb_matrix/animations/solid_reactive_cross.h => quantum/rgb_matrix/animations/solid_reactive_cross.h +1 -1
@@ 20,7 20,7 @@ static HSV SOLID_REACTIVE_CROSS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di
    effect += dx > dy ? dy : dx;
    if (effect > 255) effect = 255;
#            ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
    hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
    hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
#            endif
    hsv.v = qadd8(hsv.v, 255 - effect);
    return hsv;

M quantum/rgb_matrix/animations/solid_reactive_nexus.h => quantum/rgb_matrix/animations/solid_reactive_nexus.h +3 -2
@@ 17,10 17,11 @@ static HSV SOLID_REACTIVE_NEXUS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di
    if (dist > 72) effect = 255;
    if ((dx > 8 || dx < -8) && (dy > 8 || dy < -8)) effect = 255;
#            ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
    hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
    hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4) + dy / 4;
#            else
    hsv.h = rgb_matrix_config.hsv.h + dy / 4;
#            endif
    hsv.v = qadd8(hsv.v, 255 - effect);
    hsv.h = rgb_matrix_config.hsv.h + dy / 4;
    return hsv;
}


M quantum/rgb_matrix/animations/solid_reactive_simple_anim.h => quantum/rgb_matrix/animations/solid_reactive_simple_anim.h +1 -1
@@ 5,7 5,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE)

static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) {
#            ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
    hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
    hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
#            endif
    hsv.v = scale8(255 - offset, hsv.v);
    return hsv;

M quantum/rgb_matrix/animations/solid_reactive_wide.h => quantum/rgb_matrix/animations/solid_reactive_wide.h +1 -1
@@ 15,7 15,7 @@ static HSV SOLID_REACTIVE_WIDE_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dis
    uint16_t effect = tick + dist * 5;
    if (effect > 255) effect = 255;
#            ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
    hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
    hsv.h = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 8) >> 4);
#            endif
    hsv.v = qadd8(hsv.v, 255 - effect);
    return hsv;