Files
muziekdoos/FW/leo_muziekdoos_esp32/src/led.cpp
2023-01-02 22:20:38 +01:00

69 lines
1.1 KiB
C++

#include "led.h"
#ifdef STEALTH
const bool LED_STEALTH = true;
#else
const bool LED_STEALTH = false;
#endif
CRGB leds[NUM_LEDS];
bool ledstate = false;
bool blinkState = false;
CRGB ledcolor = CRGB::Black;
uint32_t lastLedTime = 0;
uint32_t lastBlinkTime = 0;
void setLedBlink(bool blink)
{
blinkState = blink;
}
void SetLedColor(CRGB color)
{
ledcolor = color;
setLedBlink(false);
}
void SetLedColor(CRGB color, bool blink)
{
SetLedColor(color);
setLedBlink(blink);
}
void initLed(void)
{
FastLED.addLeds<SK6812, LED_PIN, GRB>(leds, NUM_LEDS); // GRB ordering is typical
FastLED.setBrightness(20);
}
void handleLed(void)
{
uint32_t timeNow = millis();
if (timeNow - lastLedTime > LEDTIMEOUT)
{
if (blinkState)
{
if (timeNow - lastBlinkTime > LEDBLINKTIME)
{
if (!ledstate)
{
leds[0] = CRGB::Black;
}
else
{
leds[0] = ledcolor;
}
ledstate = !ledstate;
lastBlinkTime = timeNow;
}
}
else
{
leds[0] = ledcolor;
}
FastLED.show();
lastLedTime = timeNow;
}
}