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

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

#include <As5047uHandler.h>

Inheritance diagram for As5047uSpiAdapter:

Public Member Functions

 As5047uSpiAdapter (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 AS5047U SpiInterface.

This adapter implements the as5047u::SpiInterface<As5047uSpiAdapter> CRTP interface using a HardFOC BaseSpi implementation, enabling the AS5047U driver to work with any SPI controller that inherits from BaseSpi.

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

Constructor & Destructor Documentation

◆ As5047uSpiAdapter()

As5047uSpiAdapter::As5047uSpiAdapter ( BaseSpi &  spi_interface)
explicitnoexcept

Construct SPI adapter with BaseSpi interface.

Parameters
spi_interfaceReference to BaseSpi implementation

Member Function Documentation

◆ transfer()

bool As5047uSpiAdapter::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 fails the access and sets AS5047U_Error::BusError).

Member Data Documentation

◆ spi_interface_

BaseSpi& As5047uSpiAdapter::spi_interface_
private

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