16#include "platforms/shared/spi_types.h"
fl::optional< fl::task::Error > setClockSpeed(u32 speed_hz) FL_NO_EXCEPT
Update clock speed.
bool isBusy() const FL_NO_EXCEPT
Check if async operation is in progress.
const Config & getConfig() const FL_NO_EXCEPT
Get current configuration.
bool waitComplete(u32 timeout_ms=(fl::numeric_limits< u32 >::max)()) FL_NO_EXCEPT
Wait for pending async operation to complete.
bool isReady() const FL_NO_EXCEPT
Check if device is initialized and ready for use.
Device(const Config &config) FL_NO_EXCEPT
Construct SPI device with configuration.
~Device() FL_NO_EXCEPT
Destructor - releases hardware resources.
fl::unique_ptr< Impl > pImpl
Result< Transaction > writeAsync(const u8 *data, size_t size) FL_NO_EXCEPT
Begin asynchronous write operation (returns immediately)
void end() FL_NO_EXCEPT
Shutdown the SPI hardware and release resources.
Device(const Device &) FL_NO_EXCEPT=delete
DMABuffer acquireBuffer(size_t size) FL_NO_EXCEPT
Acquire DMA-capable buffer for zero-copy transmission.
fl::optional< fl::task::Error > begin() FL_NO_EXCEPT
Initialize the SPI hardware.
fl::optional< fl::task::Error > transmit(DMABuffer &buffer, bool async=true) FL_NO_EXCEPT
Transmit from previously acquired DMA buffer.
Device & operator=(const Device &) FL_NO_EXCEPT=delete
Configuration structure for SPI communication.
fl::result< T, SPIError > Result
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.
Promise-based fluent API for FastLED - standalone async primitives.
static constexpr T max() FL_NO_EXCEPT
Private implementation data for Device class.
Transaction class for asynchronous SPI operations.