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

Class ChannelConfig

src/fl/channels/config.h:163–280  ·  view source on GitHub ↗

@brief Configuration for a single LED channel Contains all settings typically configured via FastLED.addLeds<>().set...() methods: - LED data array and count - Chipset configuration (clockless or SPI) - Color correction and temperature - Dithering mode - RGBW conversion settings

Source from the content-addressed store, hash-verified

161/// - Dithering mode
162/// - RGBW conversion settings
163struct ChannelConfig {
164
165 // ========== New Variant-Based Constructors ==========
166
167 /// @brief Named constructor with chipset variant
168 /// @param name User-specified channel name
169 /// @param chipset Chipset configuration (clockless or SPI)
170 /// @param leds LED data array
171 /// @param rgbOrder RGB channel ordering
172 /// @param options Channel options (correction, temperature, dither, affinity)
173 ChannelConfig(const fl::string& name, const ChipsetVariant& chipset, fl::span<CRGB> leds,
174 EOrder rgbOrder = RGB, const ChannelOptions& options = ChannelOptions()) FL_NOEXCEPT;
175
176 /// @brief Primary constructor with chipset variant
177 /// @param chipset Chipset configuration (clockless or SPI)
178 /// @param leds LED data array
179 /// @param rgbOrder RGB channel ordering
180 /// @param options Channel options (correction, temperature, dither, affinity)
181 ChannelConfig(const ChipsetVariant& chipset, fl::span<CRGB> leds,
182 EOrder rgbOrder = RGB, const ChannelOptions& options = ChannelOptions()) FL_NOEXCEPT;
183
184 /// @brief Constructor with clockless chipset
185 /// @param clockless Clockless chipset configuration
186 /// @param leds LED data array
187 /// @param rgbOrder RGB channel ordering
188 /// @param options Channel options
189 ChannelConfig(const ClocklessChipset& clockless, fl::span<CRGB> leds,
190 EOrder rgbOrder = RGB, const ChannelOptions& options = ChannelOptions()) FL_NOEXCEPT;
191
192 /// @brief Constructor with SPI chipset
193 /// @param spi SPI chipset configuration
194 /// @param leds LED data array
195 /// @param rgbOrder RGB channel ordering
196 /// @param options Channel options
197 ChannelConfig(const SpiChipsetConfig& spi, fl::span<CRGB> leds,
198 EOrder rgbOrder = RGB, const ChannelOptions& options = ChannelOptions()) FL_NOEXCEPT;
199
200 // ========== Backwards-Compatible Constructors (Deprecated) ==========
201
202 /// @brief Template constructor with TIMING type (backwards compatibility)
203 /// @deprecated Use ClocklessChipset constructor instead
204 /// @note This constructor creates a ClocklessChipset internally
205 template<typename TIMING>
206 ChannelConfig(int pin, fl::span<CRGB> leds, EOrder rgbOrder = RGB,
207 const ChannelOptions& options = ChannelOptions())
208 FL_NOEXCEPT : ChannelConfig(makeClockless<TIMING>(pin), leds, rgbOrder, options) {}
209
210 /// @brief Basic constructor with timing (backwards compatibility)
211 /// @deprecated Use ClocklessChipset constructor instead
212 /// @note This constructor creates a ClocklessChipset internally
213 ChannelConfig(int pin, const ChipsetTimingConfig& timing, fl::span<CRGB> leds,
214 EOrder rgbOrder = RGB, const ChannelOptions& options = ChannelOptions()) FL_NOEXCEPT;
215
216 // Copy constructor (needed because of variant)
217 ChannelConfig(const ChannelConfig& other) FL_NOEXCEPT;
218
219 // Move constructor (needed because of variant)
220 ChannelConfig(ChannelConfig&& other) FL_NOEXCEPT;

Callers 5

FL_TEST_FILEFunction · 0.50
makeBusTestConfigFunction · 0.50
makeSilentDropTestConfigFunction · 0.50
runSingleTestImplMethod · 0.50
runParallelTestImplMethod · 0.50

Calls 1

ChannelOptionsClass · 0.70

Tested by

no test coverage detected