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

CRTP SPI/GPIO adapter bridging BaseSpi + BaseGpio to isf15acp4::SpiInterface. More...

#include <Isf15acp4Handler.h>

Inheritance diagram for HalIsf15acp4SpiAdapter:

Public Member Functions

 HalIsf15acp4SpiAdapter (BaseSpi &spi, BaseGpio &cs, BaseGpio &dc, BaseGpio &reset, BaseGpio *vcc_enable=nullptr, BaseGpio *switch_in=nullptr, bool switch_active_low=true) noexcept
 
bool EnsureInitialized () noexcept
 
bool BeginCommand () noexcept
 
bool BeginData () noexcept
 
void EndTransaction () noexcept
 
bool WriteBytes (const uint8_t *data, std::size_t len) noexcept
 
void GpioSet (isf15acp4::CtrlPin pin, isf15acp4::GpioSignal signal) noexcept
 
bool GpioRead (isf15acp4::CtrlPin pin) noexcept
 
void DelayUs (uint32_t us) noexcept
 

Static Private Member Functions

static void setGpio (BaseGpio &gpio, bool electrical_high) noexcept
 
static bool readGpio (BaseGpio &gpio, bool active_low) noexcept
 

Private Attributes

BaseSpi & spi_
 
BaseGpio & cs_
 
BaseGpio & dc_
 
BaseGpio & reset_
 
BaseGpio * vcc_enable_
 
BaseGpio * switch_in_
 
bool switch_active_low_
 
bool ready_ {false}
 

Detailed Description

CRTP SPI/GPIO adapter bridging BaseSpi + BaseGpio to isf15acp4::SpiInterface.

Parameters
spiHost SPI (transactions started after CS/DC/reset GPIO).
csSoftware chip-select GPIO (required — not hardware CS).
dcData/command GPIO.
resetPanel reset GPIO.
vcc_enableOptional panel VCC enable; nullptr if hard-wired.
switch_inOptional switch sense GPIO; nullptr if unused.
switch_active_lowTrue when the switch input is active-low.

Constructor & Destructor Documentation

◆ HalIsf15acp4SpiAdapter()

HalIsf15acp4SpiAdapter::HalIsf15acp4SpiAdapter ( BaseSpi &  spi,
BaseGpio &  cs,
BaseGpio &  dc,
BaseGpio &  reset,
BaseGpio *  vcc_enable = nullptr,
BaseGpio *  switch_in = nullptr,
bool  switch_active_low = true 
)
noexcept

Member Function Documentation

◆ BeginCommand()

bool HalIsf15acp4SpiAdapter::BeginCommand ( )
noexcept

◆ BeginData()

bool HalIsf15acp4SpiAdapter::BeginData ( )
noexcept

◆ DelayUs()

void HalIsf15acp4SpiAdapter::DelayUs ( uint32_t  us)
noexcept

◆ EndTransaction()

void HalIsf15acp4SpiAdapter::EndTransaction ( )
noexcept

◆ EnsureInitialized()

bool HalIsf15acp4SpiAdapter::EnsureInitialized ( )
noexcept

◆ GpioRead()

bool HalIsf15acp4SpiAdapter::GpioRead ( isf15acp4::CtrlPin  pin)
noexcept

◆ GpioSet()

void HalIsf15acp4SpiAdapter::GpioSet ( isf15acp4::CtrlPin  pin,
isf15acp4::GpioSignal  signal 
)
noexcept

◆ readGpio()

bool HalIsf15acp4SpiAdapter::readGpio ( BaseGpio &  gpio,
bool  active_low 
)
staticprivatenoexcept

◆ setGpio()

void HalIsf15acp4SpiAdapter::setGpio ( BaseGpio &  gpio,
bool  electrical_high 
)
staticprivatenoexcept

◆ WriteBytes()

bool HalIsf15acp4SpiAdapter::WriteBytes ( const uint8_t *  data,
std::size_t  len 
)
noexcept

Member Data Documentation

◆ cs_

BaseGpio& HalIsf15acp4SpiAdapter::cs_
private

◆ dc_

BaseGpio& HalIsf15acp4SpiAdapter::dc_
private

◆ ready_

bool HalIsf15acp4SpiAdapter::ready_ {false}
private

◆ reset_

BaseGpio& HalIsf15acp4SpiAdapter::reset_
private

◆ spi_

BaseSpi& HalIsf15acp4SpiAdapter::spi_
private

◆ switch_active_low_

bool HalIsf15acp4SpiAdapter::switch_active_low_
private

◆ switch_in_

BaseGpio* HalIsf15acp4SpiAdapter::switch_in_
private

◆ vcc_enable_

BaseGpio* HalIsf15acp4SpiAdapter::vcc_enable_
private

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