Update RGB matrix reactive gradient timer scale (#19415)
This commit is contained in:
parent
40fddcb1e5
commit
77092675aa
|
@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE)
|
||||||
|
|
||||||
static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) {
|
static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) {
|
||||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
# 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
|
# endif
|
||||||
hsv.h += qsub8(130, offset);
|
hsv.h += qsub8(130, offset);
|
||||||
return hsv;
|
return hsv;
|
||||||
|
|
|
@ -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;
|
effect += dx > dy ? dy : dx;
|
||||||
if (effect > 255) effect = 255;
|
if (effect > 255) effect = 255;
|
||||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
# 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
|
# endif
|
||||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||||
return hsv;
|
return hsv;
|
||||||
|
|
|
@ -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 (dist > 72) effect = 255;
|
||||||
if ((dx > 8 || dx < -8) && (dy > 8 || dy < -8)) effect = 255;
|
if ((dx > 8 || dx < -8) && (dy > 8 || dy < -8)) effect = 255;
|
||||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
# 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
|
# endif
|
||||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||||
hsv.h = rgb_matrix_config.hsv.h + dy / 4;
|
|
||||||
return hsv;
|
return hsv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE)
|
||||||
|
|
||||||
static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) {
|
static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) {
|
||||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
# 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
|
# endif
|
||||||
hsv.v = scale8(255 - offset, hsv.v);
|
hsv.v = scale8(255 - offset, hsv.v);
|
||||||
return hsv;
|
return hsv;
|
||||||
|
|
|
@ -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;
|
uint16_t effect = tick + dist * 5;
|
||||||
if (effect > 255) effect = 255;
|
if (effect > 255) effect = 255;
|
||||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
# 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
|
# endif
|
||||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||||
return hsv;
|
return hsv;
|
||||||
|
|
Loading…
Reference in a new issue