TLE92466ED Driver

Modern C++23 driver for Infineon TLE92466ED Six-Channel Low-Side Solenoid Driver IC

Get Started View on GitHub


Overview

The TLE92466ED driver is a production-ready C++23 implementation for controlling the Infineon TLE92466ED IC, a sophisticated six-channel low-side solenoid driver with precision current control.

Key Features

  • 6 Independent Channels - Low-side solenoid/load control
  • 15-bit Current Control - 0.061mA resolution, 0-2A per channel (0-4A parallel)
  • 32-bit SPI with CRC-8 - Robust communication with data integrity
  • Modern C++23 - Using std::expected for error handling
  • Hardware Agnostic - Clean HAL interface for platform portability
  • Zero Dependencies - Freestanding-compatible for embedded systems
  • Comprehensive Diagnostics - Overcurrent, temperature, load detection

Quick Start

1. Include the Driver

cpp #include "TLE92466ED.hpp" #include "your_platform_hal.hpp" text

2. Create and Initialize

```cpp YourPlatformHAL hal; TLE92466ED driver(hal);

if (auto result = driver.initialize(); !result) { // Handle initialization error } ```text

3. Control Channels

```cpp // Set current to 1.5A driver.setChannelCurrent(0, 1500);

// Enable channel driver.enableChannel(0);

// Read diagnostics if (auto diag = driver.readDiagnostics(); diag) { if (diag->hasOvercurrent()) { // Handle overcurrent } } ```text

Documentation

📖 Complete Guides

🔧 API Reference

Hardware Specifications

Feature Specification
Channels 6 independent outputs
Current Range 0-2A (single), 0-4A (parallel)
Resolution 15-bit (0.061mA)
SPI Interface 32-bit frames with CRC-8
PWM Support Configurable frequency
Dither Up to 1.8A amplitude
Protection Overcurrent, overtemp, load detection

Requirements

Compiler Support

  • GCC 12.0+ or Clang 16.0+ or MSVC 19.33+
  • C++23 standard library with std::expected

Dependencies

  • None - freestanding compatible

Installation

CMake

cmake add_subdirectory(external/hf-tle92466ed-driver) target_link_libraries(your_target PRIVATE TLE92466ED) text

Manual

Include the following files in your project:

  • include/TLE92466ED.hpp
  • include/TLE92466ED_Registers.hpp
  • include/TLE92466ED_HAL.hpp
  • src/TLE92466ED.cpp

Platform Integration

Implement the HAL interface for your platform:

```cpp class YourPlatformHAL : public TLE92466ED_HAL { public: auto spiTransfer(std::span txData, std::span rxData) noexcept -> std::expected<void, HALError> override { // Your SPI implementation return {}; }

1
2
3
void delayMicroseconds(uint32_t us) noexcept override {
    // Your delay implementation
} }; ```text

Use Cases

  • 🚗 Automotive solenoid control
  • 🏭 Industrial valve control
  • 🤖 Robotics actuator control
  • ⚡ Precision motor control
  • 🔬 Test and measurement equipment

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests on GitHub.

License

This software is released into the Public Domain. You can use, modify, and distribute it freely without any restrictions.

Resources


Version: 2.0.0 Status: Production Ready Last Updated: 2025-10-21