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

CRTP adapter mapping BaseSpi::Transfer onto at25040::SpiInterface. More...

#include <At25040Handler.h>

Inheritance diagram for At25040SpiAdapter:

Public Member Functions

 At25040SpiAdapter (BaseSpi &spi) noexcept
 
bool transfer (const uint8_t *tx, uint8_t *rx, std::size_t len, uint32_t timeout_ms)
 Full-duplex transfer used by the AT25040 driver.
 
void delay_us (uint32_t us) noexcept
 Optional driver hook: sleep between RDSR polls of the write cycle.
 

Private Attributes

BaseSpi & spi_
 

Detailed Description

CRTP adapter mapping BaseSpi::Transfer onto at25040::SpiInterface.

Constructor & Destructor Documentation

◆ At25040SpiAdapter()

At25040SpiAdapter::At25040SpiAdapter ( BaseSpi &  spi)
inlineexplicitnoexcept
Parameters
spiHost SPI device; must outlive this adapter.

Member Function Documentation

◆ delay_us()

void At25040SpiAdapter::delay_us ( uint32_t  us)
inlinenoexcept

Optional driver hook: sleep between RDSR polls of the write cycle.

Parameters
usMicroseconds (the driver asks for 100 µs).

◆ transfer()

bool At25040SpiAdapter::transfer ( const uint8_t *  tx,
uint8_t *  rx,
std::size_t  len,
uint32_t  timeout_ms 
)
inline

Full-duplex transfer used by the AT25040 driver.

Parameters
txTransmit buffer (may be nullptr to clock zeros).
rxReceive buffer (may be nullptr to discard).
lenByte count.
timeout_msTransfer deadline.
Returns
true when BaseSpi::Transfer reports success.

Member Data Documentation

◆ spi_

BaseSpi& At25040SpiAdapter::spi_
private

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