HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
StmSpiBus Class Reference

STM32 SPI bus — manages the HAL handle and device collection. More...

#include <StmSpi.h>

Collaboration diagram for StmSpiBus:
[legend]

Public Member Functions

 StmSpiBus (const hf_spi_bus_config_t &config) noexcept
 
 StmSpiBus (SPI_HandleTypeDef *hal_handle, hf_u32_t timeout_ms=1000) noexcept
 Convenience: construct directly from HAL handle.
 
 ~StmSpiBus () noexcept
 
bool Initialize () noexcept
 
bool IsInitialized () const noexcept
 
bool Deinitialize () noexcept
 
int CreateDevice (const hf_spi_device_config_t &device_config) noexcept
 
BaseSpiGetDevice (int device_index) noexcept
 
const BaseSpiGetDevice (int device_index) const noexcept
 
std::size_t GetDeviceCount () const noexcept
 
bool RemoveDevice (int device_index) noexcept
 
const hf_spi_bus_config_tGetConfig () const noexcept
 
SPI_HandleTypeDef * GetHalHandle () const noexcept
 Get the STM32 HAL SPI handle.
 

Private Attributes

hf_spi_bus_config_t config_
 
bool initialized_ {false}
 
std::vector< std::unique_ptr< StmSpiDevice > > devices_
 

Detailed Description

STM32 SPI bus — manages the HAL handle and device collection.

One bus instance per SPI peripheral (SPI1, SPI2, etc.).

Constructor & Destructor Documentation

◆ StmSpiBus() [1/2]

StmSpiBus::StmSpiBus ( const hf_spi_bus_config_t & config)
explicitnoexcept

◆ StmSpiBus() [2/2]

StmSpiBus::StmSpiBus ( SPI_HandleTypeDef * hal_handle,
hf_u32_t timeout_ms = 1000 )
explicitnoexcept

Convenience: construct directly from HAL handle.

◆ ~StmSpiBus()

StmSpiBus::~StmSpiBus ( )
noexcept

Member Function Documentation

◆ CreateDevice()

int StmSpiBus::CreateDevice ( const hf_spi_device_config_t & device_config)
noexcept

◆ Deinitialize()

bool StmSpiBus::Deinitialize ( )
noexcept

◆ GetConfig()

const hf_spi_bus_config_t & StmSpiBus::GetConfig ( ) const
noexcept

◆ GetDevice() [1/2]

const BaseSpi * StmSpiBus::GetDevice ( int device_index) const
noexcept

◆ GetDevice() [2/2]

BaseSpi * StmSpiBus::GetDevice ( int device_index)
noexcept

◆ GetDeviceCount()

std::size_t StmSpiBus::GetDeviceCount ( ) const
noexcept

◆ GetHalHandle()

SPI_HandleTypeDef * StmSpiBus::GetHalHandle ( ) const
noexcept

Get the STM32 HAL SPI handle.

◆ Initialize()

bool StmSpiBus::Initialize ( )
noexcept

◆ IsInitialized()

bool StmSpiBus::IsInitialized ( ) const
noexcept

◆ RemoveDevice()

bool StmSpiBus::RemoveDevice ( int device_index)
noexcept

Member Data Documentation

◆ config_

hf_spi_bus_config_t StmSpiBus::config_
private

◆ devices_

std::vector<std::unique_ptr<StmSpiDevice> > StmSpiBus::devices_
private

◆ initialized_

bool StmSpiBus::initialized_ {false}
private

The documentation for this class was generated from the following files: