initial commit

This commit is contained in:
2026-02-12 00:45:31 -08:00
commit 5f168f370b
3024 changed files with 804889 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
# 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.