fix random animation

This commit is contained in:
2026-01-06 22:21:33 +01:00
parent 733b05eaeb
commit f1aac6611d

View File

@ -309,18 +309,26 @@ static void anim_random(void)
uint16_t num_leds = led_get_num_leds_a() + led_get_num_leds_b();
uint16_t random_pos = random16(num_leds);
// Randomly clear all (rare event)
if (random_pos == num_leds - 1 && random8() > 200)
{
led_clear_all();
return;
}
// Set random LED to random color
rgb_t random_color = {
random8(),
random8(),
random8()};
0,
0,
0};
// Set random LED to random basis color
switch (random16(3))
{
case 0:
random_color.r = 255;
break;
case 1:
random_color.g = 255;
break;
case 2:
random_color.b = 255;
break;
default:
break;
}
if (random_pos < led_get_num_leds_a())
{
@ -407,7 +415,7 @@ void animation_update(void)
// anim_chase_rgb();
break;
case ANIM_RANDOM:
// anim_random();
anim_random();
break;
default:
anim_black();