diff --git a/main/ledstrip.c b/main/ledstrip.c --- a/main/ledstrip.c +++ b/main/ledstrip.c @@ -98,8 +98,13 @@ void ledstrip_refresh(void) case EFFECT_SINGLECHASE: { - if(process_effect_singlechase() & 0x01) + uint8_t ret = process_effect_singlechase(); + if(ret & 0x01) led_strip_refresh(led_strip); + // Chase complete, return to manual mode + if(ret & 0x02) + current_effect = EFFECT_NONE; + } break; case EFFECT_CAULDRON: @@ -193,7 +198,10 @@ static uint8_t process_effect_singlechas } countloc = (countloc + 1) % LED_STRIP_NUM_LEDS; - return 0x01; + if(countloc == 0) + return 0b11; + else + return 0b01; }