STM32 SPI Bus+Device wrapper — wraps STM32 HAL SPI via CubeMX handle.
Bus/Device architecture:
Usage
extern SPI_HandleTypeDef hspi1;
spiBus.Initialize();
int idx = spiBus.CreateDevice(dev_cfg);
BaseSpi* sensor = spiBus.GetDevice(idx);
uint8_t tx = 0x80, rx = 0;
Abstract base class for SPI device implementations.
Definition BaseSpi.h:184
virtual bool Initialize() noexcept=0
Initialize the SPI bus.
virtual hf_spi_err_t Transfer(const hf_u8_t *tx_data, hf_u8_t *rx_data, hf_u16_t length, hf_u32_t timeout_ms=0) noexcept=0
Perform a full-duplex SPI transfer.
STM32 SPI bus — manages the HAL handle and device collection.
Definition StmSpi.h:86
Platform-agnostic SPI bus configuration for STM32.
Definition EspTypes_SPI.h:150
SPI device configuration for STM32.
Definition EspTypes_SPI.h:210
GPIO_TypeDef * cs_port
CS GPIO port (e.g., GPIOA)
Definition StmTypes.h:308
hf_pin_num_t cs_pin
CS pin (or -1 for software CS)
Definition EspTypes_SPI.h:213
- Author
- HardFOC
- Date
- 2025
- Copyright
- HardFOC — Licensed under GPL v3.0 or later.