FastLED 3.9.15
Loading...
Searching...
No Matches
chipset_helpers.h
Go to the documentation of this file.
1#pragma once
2
3namespace fl {
4
5// Helper to extract data pin from chipset variant
6inline int getDataPinFromChipset(const ChipsetVariant& chipset) {
7 if (const ClocklessChipset* clockless = chipset.ptr<ClocklessChipset>()) {
8 return clockless->pin;
9 } else if (const SpiChipsetConfig* spi = chipset.ptr<SpiChipsetConfig>()) {
10 return spi->dataPin;
11 }
12 return -1;
13}
14
15// Helper to extract timing from chipset variant (clockless only)
17 if (const ClocklessChipset* clockless = chipset.ptr<ClocklessChipset>()) {
18 return clockless->timing;
19 }
20 return ChipsetTimingConfig(0, 0, 0, 0); // Invalid/empty timing for SPI
21}
22
23} // namespace fl
int getDataPinFromChipset(const ChipsetVariant &chipset)
fl::variant< ClocklessChipset, SpiChipsetConfig > ChipsetVariant
Definition config.h:153
ChipsetTimingConfig getTimingFromChipset(const ChipsetVariant &chipset)
Base definition for an LED controller.
Definition crgb.hpp:179
Runtime bit-period timing for a clockless chipset.
Clockless chipset configuration (single data pin)
Definition config.h:32
SPI chipset configuration (data + clock pins)
Definition config.h:102