fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
CLEDController * controller
fl::CLEDController CLEDController
base definitions used by led controllers for writing out led data
Functions for red, green, blue, white (RGBW) output.
Internal FastLED header for implementation files.
void set_max_power_indicator_LED(fl::u8 pinNumber) FL_NO_EXCEPT
Select a pin with an LED that will be flashed to indicate that power management is pulling down the b...
fl::u32 scale_power_for_brightness(fl::u32 total_mW, fl::u8 brightness) FL_NO_EXCEPT
Applies the configured power-scaling response to a total power value.
fl::u8 calculate_max_brightness_for_power_vmA(const CRGB *ledbuffer, fl::u16 numLeds, fl::u8 target_brightness, fl::u32 max_power_V, fl::u32 max_power_mA) FL_NO_EXCEPT
Determines the highest brightness level you can use and still stay under the specified power budget f...
fl::u32 calculate_unscaled_power_mW(fl::span< const CRGB > leds) FL_NO_EXCEPT
Determines how many milliwatts the current LED data would draw at max brightness (255)
fl::u8 calculate_max_brightness_for_power_mW(const CRGB *ledbuffer, fl::u16 numLeds, fl::u8 target_brightness, fl::u32 max_power_mW) FL_NO_EXCEPT
Determines the highest brightness level you can use and still stay under the specified power budget f...
fl::u32 power_ratio_of_255(fl::u32 num, fl::u32 den) FL_NO_EXCEPT
min(255, floor(255 * num / den)) for den > 0, computed in 32-bit arithmetic.
fl::u32 dither_reserve_mW(fl::span< const CRGB > leds) FL_NO_EXCEPT
The most BINARY_DITHER can add to one latched frame of leds, in mW (#4342, contract R4: "quantization...
void delay_at_max_brightness_for_power(fl::u16 ms) FL_NO_EXCEPT
Similar to CFastLED::delay(), but pre-adjusts brightness to keep below the power threshold.
void set_max_power_in_milliwatts(fl::u32 powerInmW) FL_NO_EXCEPT
Set the maximum power used in watts.
fl::u32 controller_dither_reserve_mW(const fl::CLEDController &controller) FL_NO_EXCEPT
dither_reserve_mW() for a controller that dithers, and zero for one that does not: a mode other than ...
fl::u32 controller_unscaled_power_mW(const fl::CLEDController &controller) FL_NO_EXCEPT
One controller's demand at full brightness, in mW, including idle draw – the quantity the limiter sum...
void set_max_power_in_volts_and_milliamps(fl::u8 volts, fl::u32 milliamps) FL_NO_EXCEPT
Set the maximum power used in milliamps for a given voltage.
void show_at_max_brightness_for_power() FL_NO_EXCEPT
Similar to CFastLED::show(), but pre-adjusts brightness to keep below the power threshold.
void set_power_scaling_exponent(float exponent) FL_NO_EXCEPT
Set a non-linear brightness-to-power response exponent.
PowerModelRGB get_power_model() FL_NO_EXCEPT
Get current RGB power model.
void set_power_model(const PowerModelRGB &model) FL_NO_EXCEPT
Set custom RGB LED power consumption model.
fl::u32 calculate_unscaled_emitter_power_mW(fl::span< const fl::u8 > codes, fl::u8 emitter_count) FL_NO_EXCEPT
Charge already-solved physical output bytes in source emitter order: RGB, RGBW, or RGB + warm white +...
float get_power_scaling_exponent() FL_NO_EXCEPT
Get the current brightness-to-power response exponent.
fl::u8 get_white_emitter_mW() FL_NO_EXCEPT
The white-emitter draw the caller declared, or zero if they declared only an RGB model.
Base definition for an LED controller.
Includes defintions for RGB and HSV pixels.
fl::u8 blue_mW
Blue channel power at full brightness (255), in milliwatts.
constexpr PowerModelRGB() FL_NO_EXCEPT
Default constructor - WS2812 @ 5V (16mA/11mA/15mA @ 5V), linear response.
fl::u8 dark_mW
Dark LED baseline power consumption, in milliwatts.
fl::u8 red_mW
Red channel power at full brightness (255), in milliwatts.
float exponent
Brightness-to-power response exponent (1.0 = linear)
fl::u8 green_mW
Green channel power at full brightness (255), in milliwatts.
constexpr PowerModelRGB(fl::u8 r, fl::u8 g, fl::u8 b, fl::u8 d, float e=1.0f) FL_NO_EXCEPT
Custom RGB power model.
RGB LED power consumption model Used for standard 3-channel LEDs (WS2812, WS2812B,...
constexpr PowerModelRGBW() FL_NO_EXCEPT
Default constructor - SK6812 RGBW @ 5V estimate, linear response.
constexpr PowerModelRGBW(fl::u8 r, fl::u8 g, fl::u8 b, fl::u8 w, fl::u8 d, float e=1.0f) FL_NO_EXCEPT
Custom RGBW power model.
float exponent
Brightness-to-power response exponent (1.0 = linear)
fl::u8 green_mW
Green channel power at full brightness (255), in milliwatts.
constexpr PowerModelRGB toRGB() const FL_NO_EXCEPT
The RGB emitters alone, without the white one.
fl::u8 dark_mW
Dark LED baseline power consumption, in milliwatts.
fl::u8 blue_mW
Blue channel power at full brightness (255), in milliwatts.
fl::u8 white_mW
White channel power at full brightness (255), in milliwatts.
fl::u8 red_mW
Red channel power at full brightness (255), in milliwatts.
RGBW LED power consumption model Used for 4-channel LEDs (SK6812 RGBW and similar).
fl::u8 white_mW
Cool white channel power at full brightness (255), in milliwatts.
float exponent
Brightness-to-power response exponent (1.0 = linear)
constexpr PowerModelRGBWW() FL_NO_EXCEPT
Default constructor - Hypothetical RGBWW @ 5V estimate, linear response.
fl::u8 green_mW
Green channel power at full brightness (255), in milliwatts.
fl::u8 warm_white_mW
Warm white channel power at full brightness (255), in milliwatts.
constexpr PowerModelRGB toRGB() const FL_NO_EXCEPT
Convert to RGB model (folds W/WW power back into RGB so the brightness limiter doesn't under-budget).
fl::u8 red_mW
Red channel power at full brightness (255), in milliwatts.
fl::u8 blue_mW
Blue channel power at full brightness (255), in milliwatts.
constexpr PowerModelRGBWW(fl::u8 r, fl::u8 g, fl::u8 b, fl::u8 w, fl::u8 ww, fl::u8 d, float e=1.0f) FL_NO_EXCEPT
Custom RGBWW power model.
fl::u8 dark_mW
Dark LED baseline power consumption, in milliwatts.
RGBWW LED power consumption model (RGB + warm white + cool white).