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(X)
Serial Peripheral Interface (SPI) logging Logs SPI configuration, initialization, and transfers.
Centralized logging categories for FastLED hardware interfaces and subsystems.
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
constexpr nullopt_t nullopt
Base definition for an LED controller.
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.
fl::shared_ptr< SpiHwBase > hw_backend
Platform-specific backend pointer (for single-lane SPI)
Impl(const Config &cfg)
Constructor.
~Impl() FL_NOEXCEPT
Destructor.
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.
Impl(Device *dev)
Constructor.
bool completed
Whether transaction has completed.
bool cancelled
Whether transaction was cancelled.
fl::optional< fl::task::Error > result
Result of the transaction (nullopt = success)
u32 timeout_ms
Timeout value in milliseconds.
Private implementation data for Transaction class.