|
FastLED 3.10.6
|
#include "fl/channels/color_managed_source.h"#include "fl/channels/color_profile.h"#include "fl/channels/config.h"#include "fl/channels/options.h"#include "fl/channels/power_prepass.h"#include "fl/chipsets/encoders/pixel_iterator.h"#include "fl/chipsets/spi_chipsets.h"#include "fl/stl/vector.h"#include "fl/gfx/eorder.h"#include "fl/gfx/pipeline.h"#include "fl/gfx/rgbw.h"#include "fl/gfx/rgbww.h"#include "pixel_controller.h"#include "fl/stl/noexcept.h"
Include dependency graph for pipeline_binding.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | fl::ColorPipelineHooks |
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
Functions | |
| bool | fl::buildPipelineForBinding (const ColorProfileBinding &binding, StreamingPipelineQ16 *out) FL_NO_EXCEPT |
| Build the streaming pipeline a binding describes. | |
| ColorPipelineHooks & | fl::colorPipelineHooks () FL_NO_EXCEPT |
| The installed hooks. | |
| void | fl::installColorPipelineHooks () FL_NO_EXCEPT |
| Point the hooks at the real implementations. | |
Variables | |
| constexpr fl::size | fl::kColorPipelineIteratorStorage = sizeof(PixelIterator) |
| constexpr fl::size | fl::kColorPipelineSourceStorage = sizeof(ColorManagedPixelSource) |
The two things Channel needs from the colour pipeline, reached through pointers rather than by name. | |
| struct fl::ColorPipelineHooks |
Collaboration diagram for fl::ColorPipelineHooks:| Class Members | ||
|---|---|---|
| bool(*)(const ColorProfileBinding &, const ChannelOptions &, const ChipsetVariant &, StreamingPipelineQ16 *) | build | Derives a pipeline from a binding. Null until installed. |
| void(*)(void *source_storage, void *iterator_storage) | destroyIterator |
Destroys what makeIterator built. Null until installed. |
| bool(*)(PixelIterator &pixels, vector_psram< u8 > *out, SpiChipset chip, const CLEDController &controller) | encodeManagedSpi |
Unscaled (full-brightness) power demand of leds as the pipeline will drive them, in mW, including idle draw. Null until installed. The limiter must charge the drives the strip actually lights, not the source triple the sketch wrote: for a bound profile the two differ by whatever the solve does, in either direction, and by up to 4.45x on dim emitters (#4344, #4156 R3). Evaluated at unity flux, so brightness and power limiting scale the result the same way they scale any other controller's demand. The drives are charged through
|
| PixelIterator *(*)(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) | makeIterator |
Constructs a colour-managed PixelIterator in caller-provided storage. Null until installed. The storage is |
| void(*)() | notifyProfileClearedByLegacy |
Fires ChannelEvents::onColorProfileWarning(ProfileClearedByLegacy). Null until installed. A legacy setter ( |