34#include "platforms/is_platform.h"
41#if defined(FL_IS_ESP_32DEV)
43#elif defined(FL_IS_ESP_32S2)
45#elif defined(FL_IS_ESP_32S3)
47#elif defined(FL_IS_ESP_32C3)
49#elif defined(FL_IS_ESP_32C5)
51#elif defined(FL_IS_ESP_32C6)
53#elif defined(FL_IS_ESP_32H2)
55#elif defined(FL_IS_ESP_32P4)
57#elif defined(FL_IS_TEENSY_4X)
59#elif defined(FL_IS_STUB)
68#if defined(FL_IS_ESP32) && defined(ESP_IDF_VERSION_MAJOR)
70 s << ESP_IDF_VERSION_MAJOR;
71#if defined(ESP_IDF_VERSION_MINOR)
72 s <<
'.' << ESP_IDF_VERSION_MINOR;
74#if defined(ESP_IDF_VERSION_PATCH)
75 s <<
'.' << ESP_IDF_VERSION_PATCH;
96 auto infos = manager.getDriverInfos();
97 for (
const auto& info : infos) {
98 if (!info.name.empty()) {
129 info.
set(
"bus",
"FLEX_IO");
130 info.
set(
"instance",
static_cast<int64_t
>(instance));
141 info.
set(
"registeredDriverNames", names_arr);
144 info.
set(
"supportedByBuild",
Portable compile-time identifiers for LED channel buses.
void set(const fl::string &key, const json &value) FL_NO_EXCEPT
void push_back(const json &value) FL_NO_EXCEPT
static json object() FL_NO_EXCEPT
static json array() FL_NO_EXCEPT
string str() const FL_NO_EXCEPT
static string from_literal(const char *literal) FL_NO_EXCEPT
void push_back(const T &value) FL_NO_EXCEPT
FastLED's Elegant JSON Library: fl::json
Unified manager for channel drivers with priority-based fallback.
fl::vector< fl::string > registeredDriverNames() FL_NO_EXCEPT
Return the list of registered driver names.
fl::string idfVersion() FL_NO_EXCEPT
ESP-IDF version string, or "n/a" on non-ESP32 targets.
fl::string firstDriverName() FL_NO_EXCEPT
Convenience — first non-empty driver name, or "<none>" if empty.
fl::json buildDeviceInfo(fl::u8 instance) FL_NO_EXCEPT
Build the device-info JSON returned by the flexIoDeviceInfo RPC.
fl::string siliconName() FL_NO_EXCEPT
Platform identification string derived from build-time macros.
ChannelManager & channelManager()
Get the global ChannelManager singleton instance.