59 void transfer(
const uint8_t *tx, uint8_t *rx, std::size_t len) {
60 return static_cast<Derived *
>(
this)->
transfer(tx, rx, len);
CRTP-based template interface for SPI bus operations.
SpiInterface & operator=(SpiInterface &&)=default
SpiInterface(const SpiInterface &)=delete
~SpiInterface()=default
Protected destructor.
SpiInterface(SpiInterface &&)=default
void transfer(const uint8_t *tx, uint8_t *rx, std::size_t len)
Perform a full-duplex SPI data transfer.
SpiInterface & operator=(const SpiInterface &)=delete
SpiInterface()=default
Protected constructor to prevent direct instantiation.