13#include "platforms/shared/spi_types.h"
bool isBusy() const FL_NO_EXCEPT
Check if transmission is in progress.
void configureLUT(const u32 *set_masks, const u32 *clear_masks) FL_NO_EXCEPT
Configure custom LUT (advanced)
bool isReady() const FL_NO_EXCEPT
Check if device is initialized.
void end() FL_NO_EXCEPT
Shutdown hardware and release resources.
fl::optional< fl::task::Error > begin() FL_NO_EXCEPT
Initialize hardware and setup LUT.
Result< Transaction > write(const u8 *data, size_t size) FL_NO_EXCEPT
Write data (single stream drives all pins via LUT)
const Config & getConfig() const FL_NO_EXCEPT
Get current configuration.
ParallelDevice(const Config &config) FL_NO_EXCEPT
Construct parallel device.
bool waitComplete(u32 timeout_ms=(fl::numeric_limits< u32 >::max)()) FL_NO_EXCEPT
Wait for pending transmission to complete.
fl::unique_ptr< Impl > pImpl
Handle for asynchronous SPI operations.
fl::result< T, SPIError > Result
constexpr common_type_t< T, U > max(T a, U b) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
SpiParallelMode
Parallel device execution modes.
Base definition for an LED controller.
Promise-based fluent API for FastLED - standalone async primitives.
u32 timer_hz
Timer frequency for ISR mode.
fl::vector< u8 > gpio_pins
GPIO pins (1-32 pins)
SpiParallelMode mode
Execution mode (ISR vs bit-bang)
u8 clock_pin
Clock pin (SCK)
Configuration for parallel GPIO SPI.
Transaction class for asynchronous SPI operations.