|
FastLED 3.9.15
|
Unified manager for channel drivers with priority-based fallback.
The ChannelManager coordinates multiple channel drivers (e.g., PARLIO, SPI, RMT) and automatically selects the best available driver based on priority. It acts as a transparent proxy using the Proxy/Decorator pattern - strip drivers interact with it through the ChannelDriver interface without knowing about the manager's existence.
Design Pattern: Proxy/Decorator
Usage Pattern:
Definition in file manager.h.
#include "fl/channels/driver.h"#include "fl/channels/data.h"#include "fl/channels/bus.h"#include "fl/channels/bus_traits.h"#include "fl/system/engine_events.h"#include "fl/stl/vector.h"#include "fl/stl/shared_ptr.h"#include "fl/stl/noexcept.h"#include "platforms/channel_poll_signal.h"
Include dependency graph for manager.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | fl::ChannelManager |
| Unified channel manager with priority-based driver selection. More... | |
| struct | fl::ChannelManager::EngineEntry |
| Engine registry entry (priority + shared pointer + runtime control) More... | |
| struct | fl::DriverInfo |
| Driver state information for channel manager. More... | |
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
Functions | |
| ChannelManager & | fl::channelManager () FL_NOEXCEPT |
| Get the global ChannelManager singleton instance. | |
| struct fl::DriverInfo |
Collaboration diagram for fl::DriverInfo:| Class Members | ||
|---|---|---|
| bool | enabled | Whether driver is currently enabled. |
| string | name | Driver name (empty for unnamed drivers) |
| int | priority | Driver priority (higher = preferred) |