89 auto initialize() noexcept -> std::expected<
void, TLE92466ED_Error>
override {
129 auto spiTransfer(uint32_t tx_data)
noexcept -> std::expected<uint32_t, TLE92466ED_Error>
override {
131 return std::unexpected(TLE92466ED_Error::NOT_INITIALIZED);
135 SPI.beginTransaction(SPISettings(
148 uint32_t rx_data = 0;
149 rx_data |=
static_cast<uint32_t
>(SPI.transfer((tx_data >> 24) & 0xFF)) << 24;
150 rx_data |=
static_cast<uint32_t
>(SPI.transfer((tx_data >> 16) & 0xFF)) << 16;
151 rx_data |=
static_cast<uint32_t
>(SPI.transfer((tx_data >> 8) & 0xFF)) << 8;
152 rx_data |=
static_cast<uint32_t
>(SPI.transfer(tx_data & 0xFF));
161 SPI.endTransaction();
auto createTLE92466ED_HAL() -> Arduino_HAL *
Create Arduino HAL instance with default configuration.
Definition Arduino_HAL.hpp:229
Hardware Abstraction Layer (HAL) base class for TLE92466ED driver.
Arduino implementation of TLE92466ED HAL interface.
Definition Arduino_HAL.hpp:45
~Arduino_HAL() override
Destructor - cleanup resources.
Definition Arduino_HAL.hpp:74
auto enableDevice() noexcept -> void
Enable the TLE92466ED device (if EN pin is configured)
Definition Arduino_HAL.hpp:193
SPIConfig m_config
SPI configuration.
Definition Arduino_HAL.hpp:221
Arduino_HAL(const SPIConfig &config=SPIConfig())
Construct Arduino HAL with configuration.
Definition Arduino_HAL.hpp:64
auto resetDevice() noexcept -> void
Reset the TLE92466ED device (if RESN pin is configured)
Definition Arduino_HAL.hpp:211
auto spiTransfer(uint32_t tx_data) noexcept -> std::expected< uint32_t, TLE92466ED_Error > override
Transfer 32-bit SPI frame to/from TLE92466ED.
Definition Arduino_HAL.hpp:129
auto isInitialized() const noexcept -> bool
Check if HAL is initialized.
Definition Arduino_HAL.hpp:178
bool m_initialized
Initialization state.
Definition Arduino_HAL.hpp:222
auto disableDevice() noexcept -> void
Disable the TLE92466ED device (if EN pin is configured)
Definition Arduino_HAL.hpp:202
auto delayMicroseconds(uint32_t microseconds) noexcept -> void override
Delay for specified microseconds.
Definition Arduino_HAL.hpp:170
auto getConfig() const noexcept -> const SPIConfig &
Get current SPI configuration.
Definition Arduino_HAL.hpp:186
auto initialize() noexcept -> std::expected< void, TLE92466ED_Error > override
Initialize the Arduino HAL.
Definition Arduino_HAL.hpp:89
SPI configuration for Arduino.
Definition Arduino_HAL.hpp:51
uint8_t spi_bit_order
Bit order (MSB first)
Definition Arduino_HAL.hpp:57
uint8_t cs_pin
Chip Select pin (SS)
Definition Arduino_HAL.hpp:52
uint8_t resn_pin
Reset pin (optional)
Definition Arduino_HAL.hpp:54
uint8_t en_pin
Enable pin (optional)
Definition Arduino_HAL.hpp:53
uint8_t spi_mode
SPI mode (MODE0 for TLE92466ED)
Definition Arduino_HAL.hpp:56
uint32_t spi_frequency
SPI frequency (Hz) - 1MHz default.
Definition Arduino_HAL.hpp:55