Files
gunner47-GyverLamp/firmware/GyverLamp_v1.4/effectTicker.ino

71 lines
2.0 KiB
C++

uint32_t effTimer;
void effectsTick()
{
if (!dawnFlag)
{
if (ONflag && (millis() - effTimer >= ((currentMode < 5 || currentMode > 13) ? modes[currentMode].Speed : 50)))
{
effTimer = millis();
switch (currentMode)
{
case 0: sparklesRoutine(); break;
case 1: fireRoutine(); break;
case 2: rainbowVertical(); break;
case 3: rainbowHorizontal(); break;
case 4: colorsRoutine(); break;
case 5: madnessNoise(); break;
case 6: cloudNoise(); break;
case 7: lavaNoise(); break;
case 8: plasmaNoise(); break;
case 9: rainbowNoise(); break;
case 10: rainbowStripeNoise(); break;
case 11: zebraNoise(); break;
case 12: forestNoise(); break;
case 13: oceanNoise(); break;
case 14: colorRoutine(); break;
case 15: snowRoutine(); break;
case 16: matrixRoutine(); break;
case 17: lightersRoutine(); break;
case 18: lightBalls(); break;
case 19: whiteColor(); break;
default: break;
}
FastLED.show();
}
}
}
void changePower()
{
if (ONflag)
{
effectsTick();
for (uint8_t i = 0; i < modes[currentMode].Brightness; i = constrain(i + 8, 0, modes[currentMode].Brightness))
{
FastLED.setBrightness(i);
delay(1);
FastLED.show();
}
FastLED.setBrightness(modes[currentMode].Brightness);
delay(2);
FastLED.show();
}
else
{
effectsTick();
for (uint8_t i = modes[currentMode].Brightness; i > 0; i = constrain(i - 8, 0, modes[currentMode].Brightness))
{
FastLED.setBrightness(i);
delay(1);
FastLED.show();
}
FastLED.clear();
delay(2);
FastLED.show();
}
TimerManager::TimerRunning = false;
TimerManager::TimerHasFired = false;
TimerManager::TimeToFire = 0ULL;
}