![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
Base class for managing brightness and display operations of lighting controllers. More...
#include <Controller.h>
Public Member Functions | |
virtual void | Initialize ()=0 |
Initializes the controller. | |
virtual void | Display ()=0 |
Updates and displays content on the lighting system. | |
uint8_t | GetBrightness () |
Retrieves the current brightness level. | |
uint8_t | GetAccentBrightness () |
Retrieves the current accent brightness level. | |
virtual void | SetBrightness (uint8_t maxBrightness)=0 |
Sets the maximum brightness for the controller. | |
virtual void | SetAccentBrightness (uint8_t maxAccentBrightness)=0 |
Sets the maximum accent brightness for the controller. | |
Protected Member Functions | |
Controller (CameraManager *cameras, uint8_t maxBrightness, uint8_t maxAccentBrightness) | |
Constructs a Controller with specified parameters. | |
void | UpdateBrightness () |
Updates the brightness based on internal logic. | |
Protected Attributes | |
CameraManager * | cameras |
Pointer to the CameraManager for managing camera data. | |
uint8_t | brightness |
Current brightness level. | |
uint8_t | accentBrightness |
Current accent brightness level. | |
uint8_t | maxBrightness |
Maximum allowed brightness level. | |
uint8_t | maxAccentBrightness |
Maximum allowed accent brightness level. | |
bool | isOn = false |
Indicates if the controller is active. | |
bool | startTime = false |
Indicates if the start time has been recorded. | |
Private Attributes | |
const uint32_t | softStart = 5000000 |
Duration for soft start in microseconds. | |
uint32_t | previousTime |
Tracks the last update time. | |
Base class for managing brightness and display operations of lighting controllers.
The Controller class provides an abstract interface and shared functionality for managing lighting systems, including brightness adjustment and display updates.
Definition at line 25 of file Controller.h.
|
protected |
Constructs a Controller with specified parameters.
cameras | Pointer to the CameraManager. |
maxBrightness | Maximum brightness for the controller. |
maxAccentBrightness | Maximum accent brightness for the controller. |
Definition at line 3 of file Controller.cpp.
References cameras, maxAccentBrightness, and maxBrightness.
Updates and displays content on the lighting system.
Implemented in APA102Controller, BetaProtoController, ProtoV2Controller, ESP32DevKitV1, GammaControllerBack, GammaControllerFront, KaiborgV1Controller, KaiborgV1D1Controller, ProtoDRController, HUB75Controller, HUB75ControllerSplit, HUB75ControllerSquare, WS35BetaController, and WS35Controller.
Referenced by Project::Display().
uint8_t GetAccentBrightness | ( | ) |
Retrieves the current accent brightness level.
Definition at line 29 of file Controller.cpp.
References accentBrightness.
uint8_t GetBrightness | ( | ) |
Retrieves the current brightness level.
Definition at line 25 of file Controller.cpp.
References brightness.
Initializes the controller.
Implemented in APA102Controller, BetaProtoController, ProtoV2Controller, ESP32DevKitV1, GammaControllerBack, GammaControllerFront, KaiborgV1Controller, KaiborgV1D1Controller, ProtoDRController, HUB75Controller, HUB75ControllerSplit, HUB75ControllerSquare, WS35BetaController, and WS35Controller.
Referenced by ProtogenProject::Initialize().
Sets the maximum accent brightness for the controller.
maxAccentBrightness | The maximum accent brightness value (0-255). This is the secondary display if available. |
Implemented in HUB75ControllerSplit, APA102Controller, HUB75Controller, HUB75ControllerSquare, WS35BetaController, and WS35Controller.
Sets the maximum brightness for the controller.
maxBrightness | The maximum brightness value (0-255). |
Implemented in HUB75ControllerSplit, APA102Controller, HUB75Controller, HUB75ControllerSquare, WS35BetaController, and WS35Controller.
|
protected |
Updates the brightness based on internal logic.
Definition at line 9 of file Controller.cpp.
References accentBrightness, brightness, isOn, Mathematics::Map(), maxAccentBrightness, maxBrightness, previousTime, softStart, and startTime.
Referenced by APA102Controller::Display(), HUB75Controller::Display(), HUB75ControllerSplit::Display(), HUB75ControllerSquare::Display(), WS35BetaController::Display(), and WS35Controller::Display().
|
protected |
Current accent brightness level.
Definition at line 33 of file Controller.h.
Referenced by BetaProtoController::Display(), KaiborgV1D1Controller::Display(), HUB75Controller::Display(), HUB75ControllerSplit::Display(), GetAccentBrightness(), HUB75ControllerSplit::SetAccentBrightness(), APA102Controller::SetAccentBrightness(), HUB75Controller::SetAccentBrightness(), HUB75ControllerSquare::SetAccentBrightness(), WS35BetaController::SetAccentBrightness(), WS35Controller::SetAccentBrightness(), and UpdateBrightness().
|
protected |
Current brightness level.
Definition at line 32 of file Controller.h.
Referenced by APA102Controller::Display(), BetaProtoController::Display(), ProtoV2Controller::Display(), ESP32DevKitV1::Display(), GammaControllerBack::Display(), GammaControllerFront::Display(), KaiborgV1Controller::Display(), KaiborgV1D1Controller::Display(), ProtoDRController::Display(), HUB75Controller::Display(), HUB75ControllerSplit::Display(), HUB75ControllerSquare::Display(), WS35BetaController::Display(), WS35Controller::Display(), GetBrightness(), HUB75ControllerSplit::SetBrightness(), APA102Controller::SetBrightness(), HUB75Controller::SetBrightness(), HUB75ControllerSquare::SetBrightness(), WS35BetaController::SetBrightness(), WS35Controller::SetBrightness(), and UpdateBrightness().
|
protected |
Pointer to the CameraManager for managing camera data.
Definition at line 31 of file Controller.h.
Referenced by Controller(), APA102Controller::Display(), HUB75Controller::Display(), HUB75ControllerSplit::Display(), HUB75ControllerSquare::Display(), WS35BetaController::Display(), and WS35Controller::Display().
Indicates if the controller is active.
Definition at line 36 of file Controller.h.
Referenced by HUB75ControllerSplit::SetAccentBrightness(), APA102Controller::SetAccentBrightness(), HUB75Controller::SetAccentBrightness(), HUB75ControllerSquare::SetAccentBrightness(), WS35BetaController::SetAccentBrightness(), WS35Controller::SetAccentBrightness(), HUB75ControllerSplit::SetBrightness(), APA102Controller::SetBrightness(), HUB75Controller::SetBrightness(), HUB75ControllerSquare::SetBrightness(), WS35BetaController::SetBrightness(), WS35Controller::SetBrightness(), and UpdateBrightness().
|
protected |
Maximum allowed accent brightness level.
Definition at line 35 of file Controller.h.
Referenced by Controller(), HUB75ControllerSplit::SetAccentBrightness(), APA102Controller::SetAccentBrightness(), HUB75Controller::SetAccentBrightness(), HUB75ControllerSquare::SetAccentBrightness(), WS35BetaController::SetAccentBrightness(), WS35Controller::SetAccentBrightness(), and UpdateBrightness().
|
protected |
Maximum allowed brightness level.
Definition at line 34 of file Controller.h.
Referenced by Controller(), HUB75ControllerSplit::SetBrightness(), APA102Controller::SetBrightness(), HUB75Controller::SetBrightness(), HUB75ControllerSquare::SetBrightness(), WS35BetaController::SetBrightness(), WS35Controller::SetBrightness(), and UpdateBrightness().
|
private |
Tracks the last update time.
Definition at line 28 of file Controller.h.
Referenced by UpdateBrightness().
Duration for soft start in microseconds.
Definition at line 27 of file Controller.h.
Referenced by UpdateBrightness().
Indicates if the start time has been recorded.
Definition at line 37 of file Controller.h.
Referenced by UpdateBrightness().