AwesomeStudioPedal
A programmable, multi-profile foot controller for DAWs, score readers, and studio automation
Loading...
Searching...
No Matches
LEDController Class Reference

ESP32-specific implementation of ILEDController. More...

#include <led_controller.h>

Inheritance diagram for LEDController:
ILEDController ILEDController

Public Member Functions

 LEDController (uint8_t pin)
 
void setup (uint32_t initialState=0) override
 
void setState (bool state) override
 
void toggle () 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.
 
void update (uint32_t now) override
 Drive timed behaviour — must be called every loop iteration.
 
bool isBlinking () const override
 Returns true if a blink sequence is currently running.
 
 LEDController (uint8_t pin)
 Constructs an LEDController for a specific pin.
 
void setup (uint32_t initialState=0) override
 
void setState (bool state) override
 
void toggle () 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.
 
void update (uint32_t now) override
 Drive timed behaviour — must be called every loop iteration.
 
bool isBlinking () const override
 Returns true if a blink sequence is currently running.
 
- Public Member Functions inherited from ILEDController
virtual ~ILEDController ()=default
 

Detailed Description

ESP32-specific implementation of ILEDController.

nRF52840-specific implementation of ILEDController interface

Supports immediate setState/toggle and non-blocking blink sequences driven by update() calls from the main loop.

Controls an LED on a GPIO pin using the Arduino digitalWrite API.

Definition at line 13 of file esp32/include/led_controller.h.

Constructor & Destructor Documentation

◆ LEDController() [1/2]

LEDController::LEDController ( uint8_t  pin)
explicit

Definition at line 3 of file esp32/src/led_controller.cpp.

◆ LEDController() [2/2]

LEDController::LEDController ( uint8_t  pin)
explicit

Constructs an LEDController for a specific pin.

Parameters
pinGPIO pin number to which the LED is connected

Member Function Documentation

◆ isBlinking() [1/2]

bool LEDController::isBlinking ( ) const
inlineoverridevirtual

Returns true if a blink sequence is currently running.

Implements ILEDController.

Definition at line 25 of file esp32/include/led_controller.h.

◆ isBlinking() [2/2]

bool LEDController::isBlinking ( ) const
inlineoverridevirtual

Returns true if a blink sequence is currently running.

Implements ILEDController.

Definition at line 27 of file nrf52840/include/led_controller.h.

◆ setState() [1/2]

void LEDController::setState ( bool  state)
overridevirtual

Implements ILEDController.

Definition at line 12 of file esp32/src/led_controller.cpp.

◆ setState() [2/2]

void LEDController::setState ( bool  state)
overridevirtual

Implements ILEDController.

◆ setup() [1/2]

void LEDController::setup ( uint32_t  initialState = 0)
overridevirtual

Implements ILEDController.

Definition at line 5 of file esp32/src/led_controller.cpp.

◆ setup() [2/2]

void LEDController::setup ( uint32_t  initialState = 0)
overridevirtual

Implements ILEDController.

◆ startBlink() [1/2]

void LEDController::startBlink ( uint32_t  intervalMs,
int16_t  count = -1 
)
overridevirtual

Start a blink sequence.

Parameters
intervalMsHalf-period in ms (LED on for intervalMs, off for intervalMs)
countNumber of on/off cycles; -1 = blink indefinitely until stopBlink()

Implements ILEDController.

Definition at line 23 of file esp32/src/led_controller.cpp.

◆ startBlink() [2/2]

void LEDController::startBlink ( uint32_t  intervalMs,
int16_t  count = -1 
)
overridevirtual

Start a blink sequence.

Parameters
intervalMsHalf-period in ms (LED on for intervalMs, off for intervalMs)
countNumber of on/off cycles; -1 = blink indefinitely until stopBlink()

Implements ILEDController.

◆ stopBlink() [1/2]

void LEDController::stopBlink ( )
overridevirtual

Stop any running blink and restore the pre-blink state.

Implements ILEDController.

Definition at line 35 of file esp32/src/led_controller.cpp.

◆ stopBlink() [2/2]

void LEDController::stopBlink ( )
overridevirtual

Stop any running blink and restore the pre-blink state.

Implements ILEDController.

◆ toggle() [1/2]

void LEDController::toggle ( )
overridevirtual

Implements ILEDController.

Definition at line 21 of file esp32/src/led_controller.cpp.

◆ toggle() [2/2]

void LEDController::toggle ( )
overridevirtual

Implements ILEDController.

◆ update() [1/2]

void LEDController::update ( uint32_t  now)
overridevirtual

Drive timed behaviour — must be called every loop iteration.

Parameters
nowCurrent time in milliseconds (e.g. millis())

Implements ILEDController.

Definition at line 43 of file esp32/src/led_controller.cpp.

◆ update() [2/2]

void LEDController::update ( uint32_t  now)
overridevirtual

Drive timed behaviour — must be called every loop iteration.

Parameters
nowCurrent time in milliseconds (e.g. millis())

Implements ILEDController.


The documentation for this class was generated from the following files: