16#define FASTLED_ESP32_USE_CLOCKLESS_SPI
22#if defined(FL_IS_TEENSY)
44 6.2831853071795864769252867665590057683943387987502116419498891846156328125724179972560696506842341359
72 pt_out.
x = centerX +
fl::cos(angle) * radius;
73 pt_out.
y = centerY +
fl::sin(angle) * radius;
113 .setScreenMap(screenMapLocal);
123 auto input =
audio.audioInput();
128 printf(
"AnimartrixRing: Audio routed via FastLED.add() (auto-pump)\n");
134 printf(
"AnimartrixRing: Audio using manual pump (fallback)\n");
149 Serial.println(
"AnimartrixRing setup complete (3-state orchestrator)");
171 const fl::u32 now = millis();
179 printf(
"AnimartrixRing: state -> %s (engine speed=%.2f)\n",
191 uint8_t finalBrightness;
199 finalBrightness =
static_cast<uint8_t
>(
brightness.value());
202 FastLED.setBrightness(finalBrightness);
fl::UIAudio audio("Audio Input")
fl::FxEngine fxEngine(NUM_LEDS)
fl::Animartrix animartrix(xyMap, FIRST_ANIMATION)
fl::UISlider timeSpeed("Time Speed", 1, -10, 10,.1)
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
fl::UIAudio audio("Audio Input")
fl::UISlider orchestratorHysteresisMs("Orchestrator Hysteresis (ms)", 400, 0, 2000, 50)
fl::FxEngine fxEngine(NUM_LEDS)
fl::UICheckbox enableOrchestrator("Enable Sound Orchestrator", false)
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255, 1)
fl::shared_ptr< animartrix_ring::SoundOrchestrator > gOrchestrator
fl::UISlider timeSpeed("Time Speed", 1, -10, 10,.1)
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::shared_ptr< fl::audio::Processor > gAudioProcessor
fl::UISlider orchestratorDwellMs("Orchestrator Min Dwell (ms)", 1500, 200, 5000, 100)
fl::UISlider autoBrightnessMax("Auto Brightness Max", 84, 0, 255, 1)
FASTLED_TITLE("AnimartrixRing")
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
uint8_t applyBrightnessCompression(float inputBrightnessPercent, uint8_t maxBrightness, float lowThreshold, float highThreshold)
float getAverageBrightness(CRGB *leds, int numLeds)
@ BILINEAR
Bilinear interpolation (smooth)
Manages and renders multiple visual effects (Fx) for LED strips.
void setDiameter(float diameter) FL_NOEXCEPT
@ TypicalLEDStrip
Typical values for SMD5050 LEDs.
const char * toString(SoundState s)
fl::u32 classifierHysteresisMs
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
enable_if< is_fixed_point< T >::value, T >::type cos(T angle) FL_NOEXCEPT
enable_if< is_fixed_point< T >::value, T >::type sin(T angle) FL_NOEXCEPT
Aggregator header for the fl/ui/ family of per-element UI types.