FastLED 3.10.6
Loading...
Searching...
No Matches

◆ installColorPipelineHooks()

void fl::installColorPipelineHooks ( )

Point the hooks at the real implementations.

Called from ChannelOptions::setColorProfile, which is the only place that can know the pipeline is wanted. Idempotent.

Definition at line 319 of file pipeline_binding.cpp.hpp.

319 {
321 hooks.build = &buildPipelineForChannelBinding;
322 hooks.makeIterator = &makeColorPipelineIterator;
323 hooks.destroyIterator = &destroyColorPipelineIterator;
324 hooks.notifyProfileClearedByLegacy = &notifyColorPipelineProfileClearedByLegacy;
325 hooks.encodeManagedSpi = &encodeColorPipelineManagedSpi;
326#if FL_COLOR_PIPELINE_SHARED
327 hooks.unscaledPowerMilliwatts = &colorPipelineUnscaledPowerMilliwatts;
328 PowerFrameHooks& power_hooks = powerFrameHooks();
329 power_hooks.buildPowerHistogram = &colorPipelineBuildPowerHistogram;
330 power_hooks.histogramPowerNumerator = &colorPipelineHistogramPowerNumerator;
331#endif
332}
ColorPipelineHooks & colorPipelineHooks() FL_NO_EXCEPT
The installed hooks.
bool(* build)(const ColorProfileBinding &, const ChannelOptions &, const ChipsetVariant &, StreamingPipelineQ16 *)
Derives a pipeline from a binding. Null until installed.
void(* destroyIterator)(void *source_storage, void *iterator_storage)
Destroys what makeIterator built. Null until installed.
void(* notifyProfileClearedByLegacy)()
Fires ChannelEvents::onColorProfileWarning(ProfileClearedByLegacy).
PixelIterator *(* makeIterator)(void *source_storage, void *iterator_storage, PixelController< RGB, 1, 0xFFFFFFFF > &controller, EOrder order, ColorPipelineFrameRef pipeline, const Rgbw &rgbw, Rgbww rgbww, u8 dither_phase, u8 brightness)
Constructs a colour-managed PixelIterator in caller-provided storage.
bool(* encodeManagedSpi)(PixelIterator &pixels, vector_psram< u8 > *out, SpiChipset chip, const CLEDController &controller)
Unscaled (full-brightness) power demand of leds as the pipeline will drive them, in mW,...

References fl::ColorPipelineHooks::build, colorPipelineHooks(), fl::ColorPipelineHooks::destroyIterator, fl::ColorPipelineHooks::encodeManagedSpi, FL_NO_EXCEPT, fl::ColorPipelineHooks::makeIterator, and fl::ColorPipelineHooks::notifyProfileClearedByLegacy.

Referenced by fl::CLEDController::bindStaticEmitterProfile(), fl::Channel::create(), fl::ChannelOptions::setColorProfile(), and fl::ChannelOptions::withColorProfile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: