|
FastLED 3.9.15
|
Parallel GPIO SPI device (1-32 pins driven from single data stream)
Uses lookup table (LUT) to map byte values to GPIO pin states. Single data stream drives all pins simultaneously. Backend: SpiIsr* (ISR-driven) or SpiBlock* (bit-bang)
Architecture:
Example:
Definition at line 65 of file parallel_device.h.
#include <parallel_device.h>
Collaboration diagram for fl::spi::ParallelDevice:Classes | |
| struct | Config |
| Configuration for parallel GPIO SPI. More... | |
| struct | Impl |
Public Member Functions | |
| ParallelDevice (const Config &config) | |
| Construct parallel device. | |
| ParallelDevice (const ParallelDevice &) FL_NOEXCEPT=delete | |
| ParallelDevice (ParallelDevice &&) FL_NOEXCEPT=delete | |
| ~ParallelDevice () FL_NOEXCEPT | |
| Destructor - releases hardware resources. | |
| fl::optional< fl::task::Error > | begin () |
| Initialize hardware and setup LUT. | |
| void | configureLUT (const u32 *set_masks, const u32 *clear_masks) |
| Configure custom LUT (advanced) | |
| void | end () |
| Shutdown hardware and release resources. | |
| const Config & | getConfig () const |
| Get current configuration. | |
| bool | isBusy () const |
| Check if transmission is in progress. | |
| bool | isReady () const |
| Check if device is initialized. | |
| ParallelDevice & | operator= (const ParallelDevice &) FL_NOEXCEPT=delete |
| ParallelDevice & | operator= (ParallelDevice &&) FL_NOEXCEPT=delete |
| bool | waitComplete (u32 timeout_ms=(fl::numeric_limits< u32 >::max)()) |
| Wait for pending transmission to complete. | |
| Result< Transaction > | write (const u8 *data, size_t size) |
| Write data (single stream drives all pins via LUT) | |
Private Attributes | |
| fl::unique_ptr< Impl > | pImpl |