AwesomeStudioPedal
A programmable, multi-profile foot controller for DAWs, score readers, and studio automation
Loading...
Searching...
No Matches
esp32/include/led_controller.h
Go to the documentation of this file.
1
#pragma once
2
#include "
i_led_controller.h
"
3
#include <Arduino.h>
4
#include <driver/gpio.h>
5
13
class
LEDController
:
public
ILEDController
14
{
15
public
:
16
explicit
LEDController
(uint8_t pin);
17
18
void
setup
(uint32_t initialState = 0)
override
;
19
void
setState
(
bool
state)
override
;
20
void
toggle
()
override
;
21
22
void
startBlink
(uint32_t intervalMs, int16_t count = -1)
override
;
23
void
stopBlink
()
override
;
24
void
update
(uint32_t now)
override
;
25
bool
isBlinking
()
const override
{
return
blinking; }
26
27
private
:
28
uint8_t pin;
29
bool
currentState =
false
;
30
bool
blinking =
false
;
31
bool
stateBeforeBlink =
false
;
32
uint32_t blinkInterval = 0;
33
int16_t blinkRemaining = 0;
// -1 = infinite, 0 = done, >0 = half-cycles left
34
uint32_t lastToggleTime = 0;
35
};
ILEDController
Interface for LED control functionality.
Definition
i_led_controller.h:12
LEDController
ESP32-specific implementation of ILEDController.
Definition
esp32/include/led_controller.h:14
LEDController::isBlinking
bool isBlinking() const override
Returns true if a blink sequence is currently running.
Definition
esp32/include/led_controller.h:25
LEDController::update
void update(uint32_t now) override
Drive timed behaviour — must be called every loop iteration.
Definition
esp32/src/led_controller.cpp:43
LEDController::toggle
void toggle() override
Definition
esp32/src/led_controller.cpp:21
LEDController::setState
void setState(bool state) override
Definition
esp32/src/led_controller.cpp:12
LEDController::startBlink
void startBlink(uint32_t intervalMs, int16_t count=-1) override
Start a blink sequence.
Definition
esp32/src/led_controller.cpp:23
LEDController::stopBlink
void stopBlink() override
Stop any running blink and restore the pre-blink state.
Definition
esp32/src/led_controller.cpp:35
i_led_controller.h
setup
void setup()
Arduino setup function - runs once at startup.
Definition
main.cpp:235
lib
hardware
esp32
include
led_controller.h
Generated by
1.9.8