|
FastLED 3.10.8
|
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) FL_NO_EXCEPT | |
| Construct parallel device. | |
| ParallelDevice (const ParallelDevice &) FL_NO_EXCEPT=delete | |
| ParallelDevice (ParallelDevice &&) FL_NO_EXCEPT=delete | |
| ~ParallelDevice () FL_NO_EXCEPT | |
| Destructor - releases hardware resources. | |
| fl::optional< fl::task::Error > | begin () FL_NO_EXCEPT |
| Initialize hardware and setup LUT. | |
| void | configureLUT (const u32 *set_masks, const u32 *clear_masks) FL_NO_EXCEPT |
| Configure custom LUT (advanced) | |
| void | end () FL_NO_EXCEPT |
| Shutdown hardware and release resources. | |
| const Config & | getConfig () const FL_NO_EXCEPT |
| Get current configuration. | |
| bool | isBusy () const FL_NO_EXCEPT |
| Check if transmission is in progress. | |
| bool | isReady () const FL_NO_EXCEPT |
| Check if device is initialized. | |
| ParallelDevice & | operator= (const ParallelDevice &) FL_NO_EXCEPT=delete |
| ParallelDevice & | operator= (ParallelDevice &&) FL_NO_EXCEPT=delete |
| bool | waitComplete (u32 timeout_ms=(fl::numeric_limits< u32 >::max)()) FL_NO_EXCEPT |
| Wait for pending transmission to complete. | |
| Result< Transaction > | write (const u8 *data, size_t size) FL_NO_EXCEPT |
| Write data (single stream drives all pins via LUT) | |
Private Attributes | |
| fl::unique_ptr< Impl > | pImpl |