8#include "platforms/shared/spi_manager.h"
9#include "platforms/shared/spi_types.h"
10#include "platforms/shared/spi_hw_base.h"
60 FL_LOG_SPI(
"Device::Impl: Destructor complete");
85 , notify_task(
nullptr)
#define FL_LOG_SPI(...)
Serial Peripheral Interface (SPI) logging Logs SPI configuration, initialization, and transfers.
Centralized logging categories for FastLED hardware interfaces and subsystems.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
constexpr nullopt_t nullopt
Base definition for an LED controller.
static constexpr T max() FL_NO_EXCEPT
bool owns_backend
True if this Device owns the hw_backend (SINGLE_SPI mode)
struct fl::spi::Device::Impl::AsyncState async_state
SPIBusHandle bus_handle
Handle from SPIBusManager.
~Impl() FL_NO_EXCEPT
Destructor.
fl::shared_ptr< SpiHwBase > hw_backend
Platform-specific backend pointer (for single-lane SPI)
Impl(const Config &cfg) FL_NO_EXCEPT
Constructor.
Config config
Device configuration.
bool initialized
Whether hardware is initialized.
Private implementation data for Device class.
u32 start_time
Start time for timeout tracking.
size_t size
Transfer size in bytes.
u8 * rx_buffer
RX buffer pointer (caller-owned)
const u8 * tx_buffer
TX buffer pointer (caller-owned)
bool active
Whether an async operation is in progress.
State for async operations.
Device * device
Back-reference to device.
bool completed
Whether transaction has completed.
bool cancelled
Whether transaction was cancelled.
fl::optional< fl::task::Error > result
Result of the transaction (nullopt = success)
Impl(Device *dev) FL_NO_EXCEPT
Constructor.
u32 timeout_ms
Timeout value in milliseconds.
Private implementation data for Transaction class.