TLE92466ED Driver 0.1.0-preview
Modern C++23 driver for Infineon TLE92466ED Six-Channel Low-Side Solenoid Driver
Loading...
Searching...
No Matches
Arduino_HAL Class Reference

Arduino implementation of TLE92466ED HAL interface. More...

#include <Arduino_HAL.hpp>

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

Classes

struct  SPIConfig
 SPI configuration for Arduino. More...
 

Public Member Functions

 Arduino_HAL (const SPIConfig &config=SPIConfig())
 Construct Arduino HAL with configuration.
 
 ~Arduino_HAL () override
 Destructor - cleanup resources.
 
auto initialize () noexcept -> std::expected< void, TLE92466ED_Error > override
 Initialize the Arduino HAL.
 
auto spiTransfer (uint32_t tx_data) noexcept -> std::expected< uint32_t, TLE92466ED_Error > override
 Transfer 32-bit SPI frame to/from TLE92466ED.
 
auto delayMicroseconds (uint32_t microseconds) noexcept -> void override
 Delay for specified microseconds.
 
auto isInitialized () const noexcept -> bool
 Check if HAL is initialized.
 
auto getConfig () const noexcept -> const SPIConfig &
 Get current SPI configuration.
 
auto enableDevice () noexcept -> void
 Enable the TLE92466ED device (if EN pin is configured)
 
auto disableDevice () noexcept -> void
 Disable the TLE92466ED device (if EN pin is configured)
 
auto resetDevice () noexcept -> void
 Reset the TLE92466ED device (if RESN pin is configured)
 

Private Attributes

SPIConfig m_config
 SPI configuration.
 
bool m_initialized
 Initialization state.
 

Detailed Description

Arduino implementation of TLE92466ED HAL interface.

This class provides SPI communication and timing functions for Arduino platforms. It uses the standard Arduino SPI library and is compatible with most Arduino boards.

Constructor & Destructor Documentation

◆ Arduino_HAL()

Arduino_HAL::Arduino_HAL ( const SPIConfig & config = SPIConfig())
inlineexplicit

Construct Arduino HAL with configuration.

Parameters
configSPI configuration

◆ ~Arduino_HAL()

Arduino_HAL::~Arduino_HAL ( )
inlineoverride

Destructor - cleanup resources.

Member Function Documentation

◆ delayMicroseconds()

auto Arduino_HAL::delayMicroseconds ( uint32_t microseconds) -> void
inlineoverridenoexcept

Delay for specified microseconds.

Parameters
microsecondsDelay duration in microseconds

◆ disableDevice()

auto Arduino_HAL::disableDevice ( ) -> void
inlinenoexcept

Disable the TLE92466ED device (if EN pin is configured)

◆ enableDevice()

auto Arduino_HAL::enableDevice ( ) -> void
inlinenoexcept

Enable the TLE92466ED device (if EN pin is configured)

◆ getConfig()

auto Arduino_HAL::getConfig ( ) const -> const SPIConfig&
inlinenoexcept

Get current SPI configuration.

Returns
Reference to SPI configuration

◆ initialize()

auto Arduino_HAL::initialize ( ) -> std::expected<void, TLE92466ED_Error>
inlineoverridenoexcept

Initialize the Arduino HAL.

Returns
Success or error

◆ isInitialized()

auto Arduino_HAL::isInitialized ( ) const -> bool
inlinenoexcept

Check if HAL is initialized.

Returns
true if initialized

◆ resetDevice()

auto Arduino_HAL::resetDevice ( ) -> void
inlinenoexcept

Reset the TLE92466ED device (if RESN pin is configured)

◆ spiTransfer()

auto Arduino_HAL::spiTransfer ( uint32_t tx_data) -> std::expected<uint32_t, TLE92466ED_Error>
inlineoverridenoexcept

Transfer 32-bit SPI frame to/from TLE92466ED.

Parameters
tx_dataData to transmit (32 bits)
Returns
Received data (32 bits) or error

Member Data Documentation

◆ m_config

SPIConfig Arduino_HAL::m_config
private

SPI configuration.

◆ m_initialized

bool Arduino_HAL::m_initialized
private

Initialization state.


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