ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
Controller.cpp
Go to the documentation of this file.
1#include "Controller.h"
2
3Controller::Controller(CameraManager* cameras, uint8_t maxBrightness, uint8_t maxAccentBrightness) {
4 this->cameras = cameras;
5 this->maxBrightness = maxBrightness;
6 this->maxAccentBrightness = maxAccentBrightness;
7}
8
10 if (!startTime) {
11 startTime = true;
12 previousTime = micros();
13 }
14
15 if (!isOn && micros() < softStart + previousTime) {
16 brightness = Mathematics::Map(micros(), previousTime, softStart + previousTime, uint32_t(0), uint32_t(maxBrightness));
18 } else if (!isOn) {
21 isOn = true;
22 }
23}
24
26 return brightness;
27}
28
32
Declares the Controller base class for managing lighting controllers.
Manages multiple CameraBase objects.
uint8_t maxAccentBrightness
Maximum allowed accent brightness level.
Definition Controller.h:35
Controller(CameraManager *cameras, uint8_t maxBrightness, uint8_t maxAccentBrightness)
Constructs a Controller with specified parameters.
Definition Controller.cpp:3
bool startTime
Indicates if the start time has been recorded.
Definition Controller.h:37
uint32_t previousTime
Tracks the last update time.
Definition Controller.h:28
const uint32_t softStart
Duration for soft start in microseconds.
Definition Controller.h:27
uint8_t accentBrightness
Current accent brightness level.
Definition Controller.h:33
uint8_t brightness
Current brightness level.
Definition Controller.h:32
uint8_t maxBrightness
Maximum allowed brightness level.
Definition Controller.h:34
CameraManager * cameras
Pointer to the CameraManager for managing camera data.
Definition Controller.h:31
void UpdateBrightness()
Updates the brightness based on internal logic.
Definition Controller.cpp:9
bool isOn
Indicates if the controller is active.
Definition Controller.h:36
uint8_t GetBrightness()
Retrieves the current brightness level.
uint8_t GetAccentBrightness()
Retrieves the current accent brightness level.
static T Map(T value, T inLow, T inMax, T outMin, T outMax)
Maps a value from one range to another.