Staircase reverse wipe
This commit is contained in:
parent
6c557ec015
commit
569efd3e45
@ -11,6 +11,9 @@ byte wipeState = 0; //0: inactive 1: wiping 2: solid
|
|||||||
unsigned long timeStaticStart = 0;
|
unsigned long timeStaticStart = 0;
|
||||||
uint16_t previousUserVar0 = 0;
|
uint16_t previousUserVar0 = 0;
|
||||||
|
|
||||||
|
//comment this out if you want the turn off effect to be just fading out instead of reverse wipe
|
||||||
|
#define STAIRCASE_WIPE_OFF
|
||||||
|
|
||||||
//gets called once at boot. Do all initialization that doesn't depend on network here
|
//gets called once at boot. Do all initialization that doesn't depend on network here
|
||||||
void userSetup()
|
void userSetup()
|
||||||
{
|
{
|
||||||
@ -52,14 +55,28 @@ void userLoop()
|
|||||||
{
|
{
|
||||||
if (millis() - timeStaticStart > userVar1*1000) wipeState = 3;
|
if (millis() - timeStaticStart > userVar1*1000) wipeState = 3;
|
||||||
}
|
}
|
||||||
} else { //wipeState == 3, turn off slowly
|
} else if (wipeState == 3) { //switch to wipe off
|
||||||
|
#ifdef STAIRCASE_WIPE_OFF
|
||||||
|
effectCurrent = FX_MODE_COLOR_WIPE;
|
||||||
|
strip.timebase = 360 + (255 - effectSpeed)*75 - millis(); //make sure wipe starts fully lit
|
||||||
|
colorUpdated(3);
|
||||||
|
wipeState = 4;
|
||||||
|
#else
|
||||||
turnOff();
|
turnOff();
|
||||||
userVar0 = 0;
|
#endif
|
||||||
wipeState = 0;
|
} else { //wiping off
|
||||||
|
if (millis() + strip.timebase > (725 + (255 - effectSpeed)*150)) turnOff(); //wipe complete
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (previousUserVar0) turnOff();
|
|
||||||
wipeState = 0; //reset for next time
|
wipeState = 0; //reset for next time
|
||||||
|
if (previousUserVar0) {
|
||||||
|
#ifdef STAIRCASE_WIPE_OFF
|
||||||
|
userVar0 = previousUserVar0;
|
||||||
|
wipeState = 3;
|
||||||
|
#else
|
||||||
|
turnOff();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
previousUserVar0 = 0;
|
previousUserVar0 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -81,7 +98,14 @@ void startWipe()
|
|||||||
|
|
||||||
void turnOff()
|
void turnOff()
|
||||||
{
|
{
|
||||||
transitionDelayTemp = 4000;
|
#ifdef STAIRCASE_WIPE_OFF
|
||||||
|
transitionDelayTemp = 0; //turn off immediately after wipe completed
|
||||||
|
#else
|
||||||
|
transitionDelayTemp = 4000; //fade out slowly
|
||||||
|
#endif
|
||||||
bri = 0;
|
bri = 0;
|
||||||
colorUpdated(3);
|
colorUpdated(3);
|
||||||
|
wipeState = 0;
|
||||||
|
userVar0 = 0;
|
||||||
|
previousUserVar0 = 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user