AwesomeStudioPedal
A programmable, multi-profile foot controller for DAWs, score readers, and studio automation
Loading...
Searching...
No Matches
i_led_controller.h
Go to the documentation of this file.
1#pragma once
2#include <cstdint>
3
12{
13public:
14 virtual ~ILEDController() = default;
15
16 virtual void setup(uint32_t initialState = 0) = 0;
17 virtual void setState(bool state) = 0;
18 virtual void toggle() = 0;
19
26 virtual void startBlink(uint32_t intervalMs, int16_t count = -1) = 0;
27
31 virtual void stopBlink() = 0;
32
38 virtual void update(uint32_t now) = 0;
39
43 virtual bool isBlinking() const = 0;
44};
Interface for LED control functionality.
virtual void update(uint32_t now)=0
Drive timed behaviour — must be called every loop iteration.
virtual void setup(uint32_t initialState=0)=0
virtual void startBlink(uint32_t intervalMs, int16_t count=-1)=0
Start a blink sequence.
virtual void stopBlink()=0
Stop any running blink and restore the pre-blink state.
virtual bool isBlinking() const =0
Returns true if a blink sequence is currently running.
virtual void setState(bool state)=0
virtual ~ILEDController()=default
virtual void toggle()=0