Files
muziekdoos/FW/leo_muziekdoos_esp32/src/led.cpp
2022-01-04 17:02:02 +01:00

62 lines
1.0 KiB
C++

#include "led.h"
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(40);
}
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;
}
}