Get estimated power consumption in milliwatts.
Calculates the estimated power consumption based on current LED buffer contents, brightness setting, and configured power model. This provides visibility into power usage for monitoring and debugging.
574 {
575#if FL_COLOR_PIPELINE_SHARED
576 if (apply_limiter &&
mPPowerFunc && fl::activeFramePowerDispatch()) {
577 bool managed = false;
579 if (p->getEnabled() && fl::channelColorPipeline(*p)) {
580 managed = true;
581 break;
582 }
583 }
584 if (managed) {
585 const fl::FramePowerPlan plan =
588 const fl::u32 mcu_mW = plan.
mcu_mW;
590 }
591 }
592#endif
594 fl::u32 controllable_power_mW = 0;
595 fl::u32 dither_reserve_power_mW = 0;
596
597
598
599
603
604
605
607 const fl::u32 dark_mW = dark_mW_per_led *
static_cast<fl::u32
>(
leds.size());
609 controllable_power_mW += unscaled_mW > dark_mW ? unscaled_mW - dark_mW : 0;
610
611
612
613#if !FL_PLATFORM_HAS_TINY_MEMORY
615#endif
616 }
617 });
618
619
621
623
624
626 }
627
628
629
630
631
632
633
634 if (effective_brightness != 0) {
636 }
639}
CLEDController * controller
power_func mPPowerFunc
function for overriding brightness when using FastLED.show();
fl::u8 mScale
the current global brightness scale setting
CRGB * leds() FL_NO_EXCEPT
Get a pointer to led data for the first controller.
fl::u32 mNPowerData
max power use parameter
static void visitControllers(Visitor &&visitor) FL_NO_EXCEPT
Visit all controllers in the linked list with a visitor The visitor must be a callable that accepts (...
static CLEDController * head() FL_NO_EXCEPT
Get the first LED controller in the linked list of controllers.
fl::CLEDController CLEDController
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::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...
PowerModelRGB get_power_model() FL_NO_EXCEPT
Get current RGB power model.
static fl::u32 fixed_power_mW(fl::u32 led_count) FL_NO_EXCEPT
fl::u8 dark_mW
Dark LED baseline power consumption, in milliwatts.