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

Main driver class for TLE92466ED Six-Channel Low-Side Solenoid Driver IC. More...

#include "TLE92466ED_HAL.hpp"
#include "TLE92466ED_Registers.hpp"
#include <expected>
#include <array>
Include dependency graph for TLE92466ED.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TLE92466ED::ChannelConfig
 Channel configuration structure. More...
 
struct  TLE92466ED::DeviceStatus
 Global device status structure. More...
 
struct  TLE92466ED::ChannelDiagnostics
 Channel diagnostic information. More...
 
struct  TLE92466ED::GlobalConfig
 Global configuration structure. More...
 
class  TLE92466ED::Driver
 Main TLE92466ED driver class. More...
 

Namespaces

namespace  TLE92466ED
 

Typedefs

template<typename T >
using TLE92466ED::DriverResult = std::expected<T, DriverError>
 Driver result type using std::expected.
 

Enumerations

enum class  TLE92466ED::DriverError : uint8_t {
  TLE92466ED::None = 0 , TLE92466ED::NotInitialized , TLE92466ED::HardwareError , TLE92466ED::InvalidChannel ,
  TLE92466ED::InvalidParameter , TLE92466ED::DeviceNotResponding , TLE92466ED::WrongDeviceID , TLE92466ED::RegisterError ,
  TLE92466ED::CRCError , TLE92466ED::FaultDetected , TLE92466ED::ConfigurationError , TLE92466ED::TimeoutError ,
  TLE92466ED::WrongMode , TLE92466ED::SPIFrameError , TLE92466ED::WriteToReadOnly
}
 Driver error codes. More...
 

Detailed Description

Main driver class for TLE92466ED Six-Channel Low-Side Solenoid Driver IC.

Author
AI Generated Driver
Date
2025-10-20
Version
2.0.0

Comprehensive C++23 driver for the Infineon TLE92466ED IC. This driver provides a complete, feature-rich interface to all capabilities of the IC including:

Core Features:

  • 6 independent low-side solenoid output channels
  • Integrated Current Control (ICC) with 15-bit resolution
  • Current range: 0-2A register scale (1.5A typical continuous) single channel 0-4A register scale (2.7A typical continuous) parallel mode
  • 32-bit SPI with CRC-8 (SAE J1850)
  • Hardware-agnostic design via polymorphic HAL

Current Control Features:

  • Precision current regulation (15-bit resolution = 0.061mA steps)
  • PWM frequency control for current regulation
  • Integrator-based current controller
  • Dither support (configurable amplitude and frequency)
  • Load current feedback and monitoring

Channel Operation Modes:

  • ICC Mode: Integrated Current Control with precise regulation
  • Direct Drive: SPI-controlled on-time
  • External Drive: DRV0/DRV1 pin-controlled
  • Free-running Measurement: Continuous current sensing

Parallel Operation:

  • Channels can be paired: 0/3, 1/2, 4/5
  • Doubles current capability (up to 4A)

Protection & Diagnostics:

  • Open-load detection (ON and OFF states)
  • Short-to-ground detection
  • Over-current protection
  • Over-temperature (warning and shutdown)
  • Under/over-voltage monitoring (VBAT, VIO, VDD)
  • SPI watchdog
  • Clock watchdog
  • CRC error detection

Usage Example:

MyPlatformHAL hal;
TLE92466ED::Driver driver(hal);
// Initialize
driver.init();
driver.enter_mission_mode();
// Configure channel 0 for 1.5A current control
driver.set_channel_mode(Channel::CH0, ChannelMode::ICC);
driver.set_current_setpoint(Channel::CH0, 1500); // 1500 mA
// Enable channel
driver.enable_channel(Channel::CH0, true);
// Monitor
auto current = driver.get_average_current(Channel::CH0);
auto status = driver.get_channel_diagnostics(Channel::CH0);
Main TLE92466ED driver class.
Definition TLE92466ED.hpp:231