1#include "led_controller.h"
13 if (currentState != state)
15 digitalWrite(pin, state ? HIGH : LOW);
26 stateBeforeBlink = currentState;
27 blinkInterval = intervalMs;
28 blinkRemaining = (count < 0) ? -1 : static_cast<int16_t>(count * 2);
45 if (lastToggleTime == 0)
51 if (now - lastToggleTime < blinkInterval)
55 if (blinkRemaining > 0)
58 if (blinkRemaining == 0)
void setup(uint32_t initialState=0) override
void update(uint32_t now) override
Drive timed behaviour — must be called every loop iteration.
void setState(bool state) override
void startBlink(uint32_t intervalMs, int16_t count=-1) override
Start a blink sequence.
void stopBlink() override
Stop any running blink and restore the pre-blink state.
LEDController(uint8_t pin)