TLE92466ED Driver
Modern C++23 driver for Infineon TLE92466ED Six-Channel Low-Side Solenoid Driver IC
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::expectedfor 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
- Documentation Index - Navigation hub
- IC Overview - Hardware specifications
- SPI Protocol - Communication details
- Register Map - All 108 registers
- Current Control - ICC system
- Channel Modes - Operating modes
- Diagnostics - Fault detection
- Driver API - C++ interface
- HAL Implementation - Platform porting
- Usage Examples - Code samples
🔧 API Reference
- Doxygen Documentation - Complete 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.hppinclude/TLE92466ED_Registers.hppinclude/TLE92466ED_HAL.hppsrc/TLE92466ED.cpp
Platform Integration
Implement the HAL interface for your platform:
```cpp
class YourPlatformHAL : public TLE92466ED_HAL {
public:
auto spiTransfer(std::span
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
- Infineon TLE92466ED Product Page
- Datasheet (included in repository)
- GitHub Repository
- Issue Tracker
| Version: 2.0.0 | Status: Production Ready | Last Updated: 2025-10-21 |