HF-AS5047U Driver  0.1.0-dev
HF-AS5047U C++ Driver
Loading...
Searching...
No Matches
Esp32As5047uSpiBus Class Reference

ESP32 SPI transport implementation for AS5047U driver. More...

#include <esp32_as5047u_bus.hpp>

Inheritance diagram for Esp32As5047uSpiBus:
[legend]
Collaboration diagram for Esp32As5047uSpiBus:
[legend]

Classes

struct  SPIConfig
 SPI configuration structure. More...
 

Public Member Functions

 Esp32As5047uSpiBus (const SPIConfig &config)
 Constructor with SPI configuration.
 
 ~Esp32As5047uSpiBus ()
 Destructor - cleans up SPI resources.
 
void transfer (const uint8_t *tx, uint8_t *rx, std::size_t len)
 Perform a full-duplex SPI data transfer.
 
bool initialize ()
 Initialize the SPI bus (must be called before use)
 
void deinitialize ()
 Deinitialize the SPI bus.
 
const SPIConfiggetConfig () const noexcept
 Get the current SPI configuration.
 
bool isInitialized () const noexcept
 Check if SPI bus is initialized.
 
- Public Member Functions inherited from as5047u::SpiInterface< Esp32As5047uSpiBus >
void transfer (const uint8_t *tx, uint8_t *rx, std::size_t len)
 Perform a full-duplex SPI data transfer.
 
 SpiInterface (const SpiInterface &)=delete
 
SpiInterfaceoperator= (const SpiInterface &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from as5047u::SpiInterface< Esp32As5047uSpiBus >
 SpiInterface ()=default
 Protected constructor to prevent direct instantiation.
 
 SpiInterface (SpiInterface &&)=default
 
SpiInterfaceoperator= (SpiInterface &&)=default
 
 ~SpiInterface ()=default
 Protected destructor.
 

Detailed Description

ESP32 SPI transport implementation for AS5047U driver.

This class implements the as5047u::SpiInterface interface using ESP-IDF's SPI driver with CRTP pattern. It supports configurable SPI pins, frequency, and chip select.

Constructor & Destructor Documentation

◆ Esp32As5047uSpiBus()

Esp32As5047uSpiBus::Esp32As5047uSpiBus ( const SPIConfig & config)
inlineexplicit

Constructor with SPI configuration.

Parameters
configSPI configuration parameters (must be fully specified)
Note
For standard usage, prefer CreateEsp32As5047uSpiBus() factory function which uses configuration from esp32_as5047u_test_config.hpp

◆ ~Esp32As5047uSpiBus()

Esp32As5047uSpiBus::~Esp32As5047uSpiBus ( )
inline

Destructor - cleans up SPI resources.

Member Function Documentation

◆ deinitialize()

void Esp32As5047uSpiBus::deinitialize ( )
inline

Deinitialize the SPI bus.

◆ getConfig()

const SPIConfig & Esp32As5047uSpiBus::getConfig ( ) const
inlinenoexcept

Get the current SPI configuration.

Returns
Current SPI configuration

◆ initialize()

bool Esp32As5047uSpiBus::initialize ( )
inline

Initialize the SPI bus (must be called before use)

Returns
true if successful, false otherwise

◆ isInitialized()

bool Esp32As5047uSpiBus::isInitialized ( ) const
inlinenoexcept

Check if SPI bus is initialized.

Returns
true if initialized, false otherwise

◆ transfer()

void Esp32As5047uSpiBus::transfer ( const uint8_t * tx,
uint8_t * rx,
std::size_t len )
inline

Perform a full-duplex SPI data transfer.

Parameters
txPointer to data to transmit (len bytes). If nullptr, zeros are sent.
rxPointer to buffer for received data (len bytes). If nullptr, received data is ignored.
lenNumber of bytes to transfer.

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