178 {
179 const fl::u32 now =
millis();
180
181
186 }
187 }
188
190
191
192
193
196 } else {
198 }
201
202
203 static const char *sLastRegime = "";
204 const char *regime =
gListener->regimeName();
205 if (regime != sLastRegime) {
206 sLastRegime = regime;
207 fl::printf(
"MoodRing: regime -> %s\n", regime);
208 }
210 static fl::u32 sFrame = 0;
212 }
213
214
222 } else {
224 }
225 FastLED.setBrightness(finalBrightness);
227}
fl::UIAudio audio("Audio Input")
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
uint8_t applyBrightnessCompression(float inputBrightnessPercent, uint8_t maxBrightness, float lowThreshold, float highThreshold)
float getAverageBrightness(fl::span< const CRGB > leds)
fl::UISlider autoBrightnessLowThreshold("Auto Brightness Low Threshold", 8, 0, 100, 1)
fl::UICheckbox autoBrightness("Auto Brightness", true)
fl::UISlider autoBrightnessHighThreshold("Auto Brightness High Threshold", 22, 0, 100, 1)
fl::UISlider autoBrightnessMax("Auto Brightness Max", 84, 0, 255, 1)
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
fl::shared_ptr< mood_ring::RoomListener > gListener
mood_ring::MoodPainter gPainter
fl::UICheckbox listen("Listen", true)
static void applyUiTuning()
fl::shared_ptr< fl::audio::Processor > gProcessor
fl::UICheckbox debugPrint("Debug: Print Sense", false)
static void printSense(const mood_ring::RoomSense &s)
fl::u32 millis()
Universal millisecond timer - returns milliseconds since system startup.
void printf(const char *format) FL_NO_EXCEPT
CRGB sample(const CRGB *grid, const XYMap &xyMap, float x, float y, SampleMode mode)
Sample a pixel from a 2D CRGB grid at floating-point coordinates.
Everything a visual is allowed to react to.