MCPcopy Create free account
hub / github.com/FastLED/FastLED / calculate_unscaled_power_mW

Function calculate_unscaled_power_mW

src/power_mgt.cpp.hpp:158–179  ·  view source on GitHub ↗

Span-based version (primary implementation)

Source from the content-addressed store, hash-verified

156
157// Span-based version (primary implementation)
158fl::u32 calculate_unscaled_power_mW(fl::span<const CRGB> leds) {
159 fl::u32 red32 = 0, green32 = 0, blue32 = 0;
160
161 // Iterate using span's safe indexing
162 for(size_t i = 0; i < leds.size(); i++) {
163 red32 += map_power_value(leds[i].r);
164 green32 += map_power_value(leds[i].g);
165 blue32 += map_power_value(leds[i].b);
166 }
167
168 red32 *= gPowerModel().red_mW;
169 green32 *= gPowerModel().green_mW;
170 blue32 *= gPowerModel().blue_mW;
171
172 red32 >>= 8;
173 green32 >>= 8;
174 blue32 >>= 8;
175
176 fl::u32 total = red32 + green32 + blue32 + (gPowerModel().dark_mW * leds.size());
177
178 return total;
179}
180
181// Pointer-based version (delegates to span version)
182fl::u32 calculate_unscaled_power_mW( const CRGB* ledbuffer, fl::u16 numLeds ) //25354

Callers 3

FL_TEST_FILEFunction · 0.85

Calls 2

map_power_valueFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected