HardFOC Core
API reference
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Ads7952SpiAdapter Class Reference

CRTP adapter connecting BaseSpi interface to ADS7952 SpiInterface. More...

#include <Ads7952Handler.h>

Inheritance diagram for Ads7952SpiAdapter:

Public Member Functions

 Ads7952SpiAdapter (BaseSpi &spi_interface) noexcept
 Construct SPI adapter with BaseSpi interface.
 
bool transfer (const uint8_t *tx, uint8_t *rx, std::size_t len) noexcept
 Perform full-duplex SPI transfer (CRTP dispatch target).
 

Private Attributes

BaseSpi & spi_interface_
 

Detailed Description

CRTP adapter connecting BaseSpi interface to ADS7952 SpiInterface.

Bridges the HardFOC BaseSpi abstraction to the ADS7952 driver's CRTP SPI interface, enabling the driver to work with any SPI controller that inherits from BaseSpi (EspSpi, StmSpi, etc.).

Thread Safety: Thread-safe when the underlying BaseSpi is thread-safe.

Constructor & Destructor Documentation

◆ Ads7952SpiAdapter()

Ads7952SpiAdapter::Ads7952SpiAdapter ( BaseSpi &  spi_interface)
explicitnoexcept

Construct SPI adapter with BaseSpi interface.

Parameters
spi_interfaceReference to BaseSpi implementation (e.g., EspSpiDevice)

Member Function Documentation

◆ transfer()

bool Ads7952SpiAdapter::transfer ( const uint8_t *  tx,
uint8_t *  rx,
std::size_t  len 
)
noexcept

Perform full-duplex SPI transfer (CRTP dispatch target).

Parameters
txTransmit buffer (can be nullptr to send zeros)
rxReceive buffer (can be nullptr to discard received data)
lenNumber of bytes to transfer
Returns
true when the frame was clocked, false on a BaseSpi error (the driver then fails the call: Error::SpiError or false).

Member Data Documentation

◆ spi_interface_

BaseSpi& Ads7952SpiAdapter::spi_interface_
private

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