FastLED 3.10.9
Loading...
Searching...
No Matches
slim_bridge_controller.h File Reference

Detailed Description

Shared "slim bridge" legacy addLeds<>() controller for channel drivers.

Extracted (issue #4581, gap register A1-A12 in #4580) from the ESP32 RMT5 legacy bridge prototyped in draft PR #4576 (platforms/esp/32/drivers/rmt/rmt_5/idf5_clockless.h) and the ClocklessIdf4 reset_us folding pattern. This header has NO platform includes – it is pure fl:: glue over IChannelDriver so every platform's legacy bridge controller can share one implementation and one conformance suite instead of re-deriving the enqueue/wait/encode dance per driver.

Definition in file slim_bridge_controller.h.

+ Include dependency graph for slim_bridge_controller.h:

Go to the source code of this file.

Classes

class  fl::SlimBridgeController< DATA_PIN, TIMING, RGB_ORDER, WAIT_TIME, DriverTraits, XTRA0, DIRECT_SHOW, BATCHED_DIRECT_SHOW >
 Shared legacy addLeds<>() bridge controller over an IChannelDriver. More...
 
struct  fl::SlimBridgeDirectShow< PLATFORM_DEFAULT >
 Preserve explicit build overrides while allowing a backend to choose its legacy default without changing other drivers or depending on include order. More...
 
struct  fl::SlimBridgeShowPolicy< false, BATCHED >
 Default: registered with ChannelManager, which owns enable/disable and flushes every registered driver once at the end of FastLED.show(). More...
 
struct  fl::SlimBridgeShowPolicy< true, false >
 Immediate direct mode preserves backends that accept only one strip per show(). More...
 
struct  fl::SlimBridgeShowPolicy< true, true >
 Batched direct mode is opt-in for drivers that consume a queued batch. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 

Functions

template<typename Traits>
void fl::detail::reject_legacy_frame (...) FL_NO_EXCEPT
 
template<typename Traits>
auto fl::detail::reject_legacy_frame (int) FL_NO_EXCEPT -> decltype(Traits::rejectLegacyFrame(), void())
 
template<typename Traits>
void fl::detail::show_batched_legacy (...) FL_NO_EXCEPT
 
template<typename Traits>
auto fl::detail::show_batched_legacy (int) FL_NO_EXCEPT -> decltype(Traits::showLegacy(), void())