Files
klubhaus-doorbell/libraries/FastLED/src/platforms/adafruit
2026-02-12 00:45:31 -08:00
..
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00

FastLED Platform: adafruit

Adafruit_NeoPixel integration providing a FastLEDcompatible clockless controller implemented on top of Adafruits driver.

Files (quick pass)

  • clockless.h: Adapter layer. Exposes a ClocklessController template that marshals FastLED pixel data to an Adafruit_NeoPixel instance. Requires Adafruit_NeoPixel.h to be available; timing (T1/T2/T3) is managed by the Adafruit library.

Usage and detection

  • Controlled by FASTLED_USE_ADAFRUIT_NEOPIXEL (defaults to undefined unless building docs). If enabled but Adafruit_NeoPixel.h is missing, the adapter disables itself with an error.
  • Color order: FastLEDs PixelController applies RGB ordering; the adapter always feeds RGB into Adafruits API.
  • Timings: T1/T2/T3 template params are ignored here; Adafruits driver handles signal generation and timing per platform.

Notes

  • This path is useful when Adafruits platform backends (e.g., some boards/cores) are preferred or more stable for your setup.
  • Performance characteristics and memory usage follow Adafruit_NeoPixel; expect different throughput vs native FastLED clockless drivers.

Optional feature defines

  • FASTLED_USE_ADAFRUIT_NEOPIXEL: Default undefined (unless building docs via FASTLED_DOXYGEN). When defined, enables the Adafruit adapter; requires Adafruit_NeoPixel.h.

Define before including FastLED.h.

Compatibility and color order

Supported color orders: FastLEDs PixelController handles byte reordering before passing data to Adafruit_NeoPixel. Typical orders like GRB/RGB/BRG are supported transparently.

Constraints vs native FastLED timing:

  • Timing is wholly delegated to Adafruit_NeoPixel. The T1/T2/T3 template parameters are ignored; use Adafruits platform timings.
  • Throughput and CPU usage may differ from FastLEDs native clockless or RMT/I2S backends. If you need multistrip parallelism or strict ISR windows, consider native drivers instead.