69 lines
1.1 KiB
C++
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;
|
|
}
|
|
} |