HF-Core Platform 0.1.0-dev
Hardware-Agnostic Handler Layer & RTOS Utilities for HardFOC
Loading...
Searching...
No Matches
HalSpiTle92466edComm Class Reference

CRTP SPI communication adapter for TLE92466ED using BaseSpi and BaseGpio. More...

#include <Tle92466edHandler.h>

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

Public Member Functions

 HalSpiTle92466edComm (BaseSpi &spi, BaseGpio &resn, BaseGpio &en, BaseGpio *faultn=nullptr) noexcept
 Construct the SPI adapter.
 
CRTP-Required Methods
tle92466ed::CommResult< void > Init () noexcept
 
tle92466ed::CommResult< void > Deinit () noexcept
 
tle92466ed::CommResult< uint32_t > Transfer32 (uint32_t tx_data) noexcept
 
tle92466ed::CommResult< void > TransferMulti (std::span< const uint32_t > tx_data, std::span< uint32_t > rx_data) noexcept
 
tle92466ed::CommResult< void > Delay (uint32_t microseconds) noexcept
 
tle92466ed::CommResult< void > Configure (const tle92466ed::SPIConfig &config) noexcept
 
bool IsReady () const noexcept
 
tle92466ed::CommError GetLastError () const noexcept
 
tle92466ed::CommResult< void > ClearErrors () noexcept
 
tle92466ed::CommResult< void > GpioSet (tle92466ed::CtrlPin pin, tle92466ed::GpioSignal signal) noexcept
 
tle92466ed::CommResult< tle92466ed::GpioSignal > GpioRead (tle92466ed::CtrlPin pin) noexcept
 
void Log (tle92466ed::LogLevel level, const char *tag, const char *format, va_list args) noexcept
 

Private Attributes

BaseSpi & spi_
 
BaseGpio & resn_
 
BaseGpio & en_
 
BaseGpio * faultn_
 
bool initialized_ {false}
 
tle92466ed::CommError last_error_ {tle92466ed::CommError::None}
 

Detailed Description

CRTP SPI communication adapter for TLE92466ED using BaseSpi and BaseGpio.

Implements all methods required by tle92466ed::SpiInterface<HalSpiTle92466edComm>.

Constructor & Destructor Documentation

◆ HalSpiTle92466edComm()

HalSpiTle92466edComm::HalSpiTle92466edComm ( BaseSpi & spi,
BaseGpio & resn,
BaseGpio & en,
BaseGpio * faultn = nullptr )
noexcept

Construct the SPI adapter.

Parameters
spiReference to pre-configured BaseSpi.
resnBaseGpio connected to RESN (reset, active LOW).
enBaseGpio connected to EN (enable, active HIGH).
faultnOptional BaseGpio connected to FAULTN (active LOW input).

Member Function Documentation

◆ ClearErrors()

tle92466ed::CommResult< void > HalSpiTle92466edComm::ClearErrors ( )
noexcept

◆ Configure()

tle92466ed::CommResult< void > HalSpiTle92466edComm::Configure ( const tle92466ed::SPIConfig & config)
noexcept

◆ Deinit()

tle92466ed::CommResult< void > HalSpiTle92466edComm::Deinit ( )
noexcept

◆ Delay()

tle92466ed::CommResult< void > HalSpiTle92466edComm::Delay ( uint32_t microseconds)
noexcept
Here is the call graph for this function:

◆ GetLastError()

tle92466ed::CommError HalSpiTle92466edComm::GetLastError ( ) const
noexcept

◆ GpioRead()

tle92466ed::CommResult< tle92466ed::GpioSignal > HalSpiTle92466edComm::GpioRead ( tle92466ed::CtrlPin pin)
noexcept

◆ GpioSet()

tle92466ed::CommResult< void > HalSpiTle92466edComm::GpioSet ( tle92466ed::CtrlPin pin,
tle92466ed::GpioSignal signal )
noexcept

◆ Init()

tle92466ed::CommResult< void > HalSpiTle92466edComm::Init ( )
noexcept

◆ IsReady()

bool HalSpiTle92466edComm::IsReady ( ) const
noexcept

◆ Log()

void HalSpiTle92466edComm::Log ( tle92466ed::LogLevel level,
const char * tag,
const char * format,
va_list args )
noexcept
Here is the call graph for this function:

◆ Transfer32()

tle92466ed::CommResult< uint32_t > HalSpiTle92466edComm::Transfer32 ( uint32_t tx_data)
noexcept

◆ TransferMulti()

tle92466ed::CommResult< void > HalSpiTle92466edComm::TransferMulti ( std::span< const uint32_t > tx_data,
std::span< uint32_t > rx_data )
noexcept

Member Data Documentation

◆ en_

BaseGpio& HalSpiTle92466edComm::en_
private

◆ faultn_

BaseGpio* HalSpiTle92466edComm::faultn_
private

◆ initialized_

bool HalSpiTle92466edComm::initialized_ {false}
private

◆ last_error_

tle92466ed::CommError HalSpiTle92466edComm::last_error_ {tle92466ed::CommError::None}
private

◆ resn_

BaseGpio& HalSpiTle92466edComm::resn_
private

◆ spi_

BaseSpi& HalSpiTle92466edComm::spi_
private

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