FastLED 3.10.6
Loading...
Searching...
No Matches
AutoResearchFlexIo.h File Reference

Detailed Description

Bus::FLEX_IO runtime-binding introspection RPC handler (FastLED#3515 Phase B).

Follows the Bus::FLEX_IO runtime-selection convention documented in agents/docs/cpp-standards.md -> "Runtime driver selection is `Bus::FLEX_IO` — legacy chipset templates are not (REQUIRED)". The harness is peripheral-agnostic:

  • On classic ESP32 Bus::FLEX_IO, 0 currently routes to the I2S-SPI driver (I2S_SPI); the Yves parallel-out clockless driver joins the same slot once FastLED#3512 Phase 4 lands.
  • On ESP32-P4 / C6 / H2 / C5 it routes to PARLIO.
  • On ESP32-S3 it routes to LCD_CLOCKLESS or LCD_RGB depending on which is registered.
  • On Teensy 4.x it routes to FLEX_IO (FlexIO2) or OBJECT_FLED depending on instance number.

The flexIoDeviceInfo RPC returns a device-info JSON structure the host can inspect to see which concrete peripheral is bound. Subtype details (I2S port, DMA channels, pin routing) are the responsibility of a future driver-specific getDeviceInfo() method — this v1 uses the existing IChannelDriver::getName() + build-time preprocessor macros.

Definition in file AutoResearchFlexIo.h.

#include "FastLED.h"
#include "fl/channels/bus.h"
#include "fl/channels/manager.h"
#include "fl/stl/int.h"
#include "fl/stl/json.h"
#include "fl/stl/string.h"
#include "platforms/is_platform.h"
+ Include dependency graph for AutoResearchFlexIo.h:

Go to the source code of this file.

Namespaces

namespace  autoresearch
 
namespace  autoresearch::flex_io
 

Functions

fl::json autoresearch::flex_io::buildDeviceInfo (fl::u8 instance) FL_NO_EXCEPT
 Build the device-info JSON returned by the flexIoDeviceInfo RPC.
 
fl::string autoresearch::flex_io::firstDriverName () FL_NO_EXCEPT
 Convenience — first non-empty driver name, or "<none>" if empty.
 
fl::string autoresearch::flex_io::idfVersion () FL_NO_EXCEPT
 ESP-IDF version string, or "n/a" on non-ESP32 targets.
 
fl::vector< fl::string > autoresearch::flex_io::registeredDriverNames () FL_NO_EXCEPT
 Return the list of registered driver names.
 
fl::string autoresearch::flex_io::siliconName () FL_NO_EXCEPT
 Platform identification string derived from build-time macros.