FastLED 3.10.8
Loading...
Searching...
No Matches
client.cpp.hpp
Go to the documentation of this file.
1// ok no header
2#include "fl/fx/wled/client.h"
3#include "fl/log/log.h"
4#include "fl/log/log.h"
5#include "fl/stl/noexcept.h"
6
7namespace fl {
8
9// WLEDClient implementation
10
13 if (!mController) {
14 FL_WARN("WLEDClient: constructed with null controller");
15 }
16}
17
20 FL_DBG("WLEDClient: setBrightness(" << (static_cast<int>(mBrightness)) << ")");
21
22 // Apply brightness to controller if we're on
23 if (mOn && mController) {
24 mController->setBrightness(mBrightness);
25 }
26}
27
29 mOn = on;
30 FL_DBG("WLEDClient: setOn(" << ((mOn ? "true" : "false")) << ")");
31
32 if (!mController) {
33 return;
34 }
35
36 if (mOn) {
37 // Turning on: apply current brightness
38 mController->setBrightness(mBrightness);
39 } else {
40 // Turning off: set brightness to 0 (but preserve internal brightness)
41 mController->setBrightness(0);
42 }
43}
44
45void WLEDClient::clear(bool writeToStrip) FL_NO_EXCEPT {
46 FL_DBG("WLEDClient: clear(writeToStrip=" << ((writeToStrip ? "true" : "false")) << ")");
47
48 if (!mController) {
49 return;
50 }
51
52 mController->clear(writeToStrip);
53}
54
56 FL_DBG("WLEDClient: update()");
57
58 if (!mController) {
59 return;
60 }
61
62 mController->show();
63}
64
66 if (!mController) {
67 return fl::span<CRGB>();
68 }
69
70 return mController->getLEDs();
71}
72
74 if (!mController) {
75 return 0;
76 }
77
78 return mController->getNumLEDs();
79}
80
81void WLEDClient::setSegment(size_t start, size_t end) FL_NO_EXCEPT {
82 FL_DBG("WLEDClient: setSegment(" << start << ", " << end << ")");
83
84 if (!mController) {
85 return;
86 }
87
88 mController->setSegment(start, end);
89}
90
92 FL_DBG("WLEDClient: clearSegment()");
93
94 if (!mController) {
95 return;
96 }
97
98 mController->clearSegment();
99}
100
102 FL_DBG("WLEDClient: setCorrection(r=" << (static_cast<int>(correction.r)) << ", g=" << (static_cast<int>(correction.g)) << ", b=" << (static_cast<int>(correction.b)) << ")");
103
104 if (!mController) {
105 return;
106 }
107
108 mController->setCorrection(correction);
109}
110
112 FL_DBG("WLEDClient: setTemperature(r=" << (static_cast<int>(temperature.r)) << ", g=" << (static_cast<int>(temperature.g)) << ", b=" << (static_cast<int>(temperature.b)) << ")");
113
114 if (!mController) {
115 return;
116 }
117
118 mController->setTemperature(temperature);
119}
120
122 FL_DBG("WLEDClient: setMaxRefreshRate(" << fps << ")");
123
124 if (!mController) {
125 return;
126 }
127
128 mController->setMaxRefreshRate(fps);
129}
130
132 if (!mController) {
133 return 0;
134 }
135
136 return mController->getMaxRefreshRate();
137}
138
139} // namespace fl
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
CLEDController * controller
void clear(bool writeToStrip=false) FL_NO_EXCEPT
Clear all LEDs.
size_t getNumLEDs() const FL_NO_EXCEPT
Get number of LEDs.
void setBrightness(u8 brightness) FL_NO_EXCEPT
Set brightness level.
void setMaxRefreshRate(u16 fps) FL_NO_EXCEPT
Set maximum refresh rate.
WLEDClient(fl::shared_ptr< IFastLED > controller) FL_NO_EXCEPT
Construct WLEDClient with FastLED controller.
fl::span< CRGB > getLEDs() FL_NO_EXCEPT
Get access to LED array.
void update() FL_NO_EXCEPT
Update physical LED strip.
void setSegment(size_t start, size_t end) FL_NO_EXCEPT
Set a segment range for subsequent operations.
u16 getMaxRefreshRate() const FL_NO_EXCEPT
Get maximum refresh rate.
void setTemperature(CRGB temperature) FL_NO_EXCEPT
Set color temperature.
void clearSegment() FL_NO_EXCEPT
Clear the segment range (operate on full LED array)
fl::shared_ptr< IFastLED > mController
Definition client.h:148
void setOn(bool on) FL_NO_EXCEPT
Set on/off state.
void setCorrection(CRGB correction) FL_NO_EXCEPT
Set color correction.
#define FL_WARN(...)
Definition log.h:437
#define FL_DBG
Definition log.h:553
Centralized logging categories for FastLED hardware interfaces and subsystems.
constexpr T * end(T(&array)[N]) FL_NO_EXCEPT
unsigned char u8
Definition stdint.h:131
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Definition blur.h:186
Base definition for an LED controller.
Definition crgb.hpp:179
Representation of an 8-bit RGB pixel (Red, Green, Blue)
Definition crgb.h:38