13#include "tle92466ed_version.h"
306template <
typename CommType>
455 uint8_t ov_threshold)
noexcept;
533 bool parallel_mode = false) noexcept;
544 bool parallel_mode = false) noexcept;
554 bool parallel_mode = false) noexcept;
611 uint8_t period_exponent,
612 bool low_freq_range = false) noexcept;
636 bool parallel_mode = false) noexcept;
657 uint8_t flat_steps) noexcept;
693 bool dither_pwm_sync = false,
694 bool dither_setpoint_sync = false) noexcept;
765 bool parallel_mode = false) noexcept;
814 uint16_t& ov_threshold) noexcept;
1044 uint32_t f_clk_Hz = 0) noexcept;
1113 uint16_t lim_value_abs,
1114 uint8_t auto_lim_value_abs) noexcept;
1131 int8_t min_int_thresh) noexcept;
1143 float on_time_us) noexcept;
1166 bool parallel_mode = false) noexcept;
1179 uint8_t olsg_timeout_code) noexcept;
1189 bool oc_diag_enabled,
1190 uint8_t ol_th_fixed) noexcept;
1234 uint32_t timeout_ms = 10U) noexcept;
1368 uint8_t max_attempts = 3U) noexcept;
1404 bool verify_crc =
false) noexcept;
1423 std::span<uint32_t> values,
1424 uint16_t& valid_mask) noexcept;
1441 bool verify_crc = false,
1442 bool verify_write = true) noexcept;
1453 uint16_t value) noexcept;
1461 return HF_TLE92466ED_VERSION_STRING;
1466 return HF_TLE92466ED_VERSION_MAJOR;
1471 return HF_TLE92466ED_VERSION_MINOR;
1476 return HF_TLE92466ED_VERSION_PATCH;
1492 bool verify_crc =
true) noexcept;
1548 float ov_voltage) noexcept;
1594#define TLE92466ED_HEADER_INCLUDED
1596#include "../src/tle92466ed.ipp"
1597#undef TLE92466ED_HEADER_INCLUDED
1602 return HF_TLE92466ED_VERSION_STRING;
Main TLE92466ED driver class.
Definition tle92466ed.hpp:307
DriverResult< void > SetParallelOperation(ParallelPair pair, bool enabled) noexcept
Configure channel for parallel operation.
DriverResult< uint16_t > GetIcVersion() noexcept
Read IC version and ID.
static constexpr uint8_t GetDriverVersionPatch() noexcept
Get the compiled driver patch version number.
Definition tle92466ed.hpp:1475
constexpr bool isValidChannelInternal(Channel channel) const noexcept
Validate channel number.
Definition tle92466ed.hpp:1497
DriverResult< void > ReadRegisterMulti(std::span< const uint16_t > addresses, std::span< uint32_t > values, uint16_t &valid_mask) noexcept
Read several registers in one pipelined chain.
~Driver() noexcept
Destructor - ensures clean shutdown.
Definition tle92466ed.hpp:323
DriverResult< bool > IsMeasurementClockRunning(Channel channel) noexcept
True when DITHER_CLK_DIV encodes a running measurement clock.
DriverResult< ChannelDiagnostics > GetChannelDiagnostics(Channel channel) noexcept
Get channel diagnostic information.
DriverResult< void > EnableChannels(uint8_t channel_mask) noexcept
Enable or disable multiple channels.
DriverResult< void > PrintAllFaults() noexcept
Print all detected faults to log.
bool IsInitialized() const noexcept
Check if driver is initialized.
Definition tle92466ed.hpp:915
DriverResult< OperationState > GetOperationState() noexcept
Read the coarse operational state.
DriverResult< void > EnterMissionModeChecked(uint32_t timeout_ms=10U) noexcept
Enter Mission Mode and verify by polling FB_STAT.INIT_DONE.
DriverResult< void > SetEnable(bool enable) noexcept
Enable or disable output channels.
DriverResult< bool > isChannelParallel(Channel channel) noexcept
Check if channel is currently in parallel mode.
DriverResult< void > ReleaseFeedbackFreeze() noexcept
Clear FB_FRZ for every channel, resuming feedback updates.
DriverResult< void > Init(bool perform_hardware_reset=true) noexcept
Initialize the driver and hardware.
DriverResult< bool > EnsureDitherRunning(Channel channel, float amplitude_ma, float frequency_hz, uint8_t max_attempts=3U) noexcept
Configure dither and confirm the measurement clock took.
DriverResult< void > SetFaultMask(MaskableFault fault, bool enable) noexcept
Enable or mask a specific fault source from asserting FAULTN.
DriverResult< void > SetPwmControllerKi(Channel channel, uint8_t ki) noexcept
Set the PWM controller proportional gain (KI, PERIOD.PWM_CTRL_PARAM).
DriverResult< void > FreezeFeedback(uint8_t channel_mask) noexcept
Set FB_FRZ to channel_mask (bit N freezes channel N).
DriverResult< DeviceStatus > GetDeviceStatus() noexcept
Get global device status.
DriverResult< bool > isSlaveChannel(Channel channel) noexcept
Check if a channel is the slave half of an enabled parallel pair. Slave channels are CH2,...
static constexpr const char * GetDriverVersion() noexcept
Get the compiled driver version string.
Definition tle92466ed.hpp:1460
DriverResult< bool > HasAnyFault() noexcept
Check if any fault exists.
bool mission_mode_
Mission mode flag (vs config mode)
Definition tle92466ed.hpp:1584
DriverResult< uint16_t > GetVioVoltage() noexcept
Get VIO voltage.
DriverResult< PinStatus > ReadPinStatus() noexcept
Read the input pin status register (PIN_STAT).
bool initialized_
Initialization status.
Definition tle92466ed.hpp:1583
DriverResult< void > SetManualOnTimeMode(Channel channel, float on_time_us) noexcept
Switch to manual on-time mode (DIRECT_DRIVE_SPI) with fixed TON.
DriverResult< uint16_t > GetVddVoltage() noexcept
Get VDD voltage.
DriverResult< void > SetCurrentSetpoint(Channel channel, uint16_t current_ma, bool parallel_mode=false) noexcept
Set current setpoint for channel.
DriverResult< void > SetFaultContributionMask(uint8_t channel_mask) noexcept
Choose which channels may pull FAULTN via FAULT_MASK0/1.
DriverResult< uint16_t > GetAverageCurrent(Channel channel, bool parallel_mode=false) noexcept
Get average load current for a channel, in milliamps.
DriverResult< void > SetVioLevel(VioLevel level) noexcept
Select VIO voltage level (3.3 V or 5.0 V).
std::array< uint16_t, 6 > channel_setpoints_
Cached current setpoints.
Definition tle92466ed.hpp:1590
DriverResult< void > EnterConfigMode() noexcept
Enter Config Mode (allows configuration changes)
DriverResult< void > checkConfigMode() const noexcept
Check if in config mode.
Definition tle92466ed.hpp:1524
bool IsConfigMode() const noexcept
Check if in config mode.
Definition tle92466ed.hpp:402
DriverResult< void > SetCrcEnabled(bool enabled) noexcept
Enable/disable CRC checking.
DriverResult< void > SetChannelMode(Channel channel, ChannelMode mode) noexcept
Set channel operation mode.
DriverResult< void > checkSpiStatus(const SPIFrame &rx_frame) noexcept
Parse SPI status from reply frame.
DriverResult< void > ConfigurePwmPeriodRaw(Channel channel, uint8_t period_mantissa, uint8_t period_exponent, bool low_freq_range=false) noexcept
Configure PWM parameters for ICC (Low-Level API)
DriverResult< void > SetReset(bool reset) noexcept
Hold device in reset or release reset.
DriverResult< std::array< ChannelFeedback, 6 > > ReadAllChannelFeedback(uint32_t timeout_ms=20U) noexcept
Read coherent feedback for all six channels in a single freeze window.
DriverResult< void > GetVbatThresholds(uint16_t &uv_threshold, uint16_t &ov_threshold) noexcept
Get VBAT thresholds.
static constexpr uint32_t GetSystemClockHz() noexcept
Get the nominal system clock (always 28 MHz after PLL lock).
Definition tle92466ed.hpp:1049
DriverResult< void > HoldReset() noexcept
Hold device in reset.
Definition tle92466ed.hpp:948
DriverResult< void > ConfigureGlobal(const GlobalConfig &config) noexcept
Configure global device settings.
DriverResult< bool > IsFault(bool print_faults=false) noexcept
Check if device fault is detected.
DriverResult< void > SoftwareReset() noexcept
Software reset of the device.
DriverResult< void > SetMinIntegratorThreshold(Channel channel, int8_t min_int_thresh) noexcept
Set the minimum integrator threshold (CTRL.MIN_INT_THRESH).
uint16_t channel_enable_cache_
Cached channel enable state.
Definition tle92466ed.hpp:1588
DriverResult< uint16_t > GetVbatVoltage() noexcept
Get VBAT voltage.
uint16_t cached_icvid_
ICVID latched at VerifyDevice (live re-read may flake)
Definition tle92466ed.hpp:1589
DriverResult< void > SetIntegratorLimits(Channel channel, uint16_t lim_value_abs, uint8_t auto_lim_value_abs) noexcept
Set ICC integrator clamp limits (INTEGRATOR_LIMIT, offset 0x03).
DriverResult< void > ConfigureDither(Channel channel, float amplitude_ma, float frequency_hz, bool parallel_mode=false) noexcept
Configure dither from amplitude and frequency (High-Level API)
uint16_t GetChannelControlShadow() const noexcept
Last CH_CTRL value this driver wrote (OP_MODE + EN_CHx).
Definition tle92466ed.hpp:1377
DriverResult< void > EnableChannel(Channel channel, bool enabled) noexcept
Enable or disable a channel.
static constexpr uint8_t GetDriverVersionMinor() noexcept
Get the compiled driver minor version number.
Definition tle92466ed.hpp:1470
DriverResult< SupplyVoltages > ReadAllSupplyVoltages() noexcept
Atomic readout of VBAT, VIO, VDD and die temperature.
DriverResult< void > Enable() noexcept
Enable output channels.
Definition tle92466ed.hpp:990
DriverResult< bool > VerifyDevice() noexcept
Verify device ID matches expected value.
DriverResult< void > checkMissionMode() const noexcept
Check if in mission mode.
Definition tle92466ed.hpp:1514
Driver(Driver &&) noexcept=delete
DriverResult< void > EnableAllChannels() noexcept
Enable all channels.
Driver(CommType &comm) noexcept
Construct driver with communication interface.
Definition tle92466ed.hpp:317
DriverResult< void > SetDitherAdvanced(Channel channel, const DitherSetup &setup, bool parallel_mode=false) noexcept
High-level dither configuration (superset of ConfigureDither).
DriverResult< void > ConfigureClockSource(ClockSource source, uint32_t f_clk_Hz=0) noexcept
Configure the device clock source (internal osc vs external+PLL).
DriverResult< FaultReport > GetAllFaults() noexcept
Get comprehensive fault report.
DriverResult< uint32_t > ReadRegister(uint16_t address, bool verify_crc=false) noexcept
Read 16-bit register.
DriverResult< BistResult > RunSffBist(uint32_t timeout_ms=10U) noexcept
Run the safe-state logic-BIST (SFF_BIST).
DriverResult< void > SetCurrentSetpointUa(Channel channel, uint32_t current_ua, bool parallel_mode=false) noexcept
Set the ICC current setpoint in microamperes (full 15-bit TARGET resolution).
DriverResult< void > SetOffStateDiagnostics(Channel channel, bool oc_diag_enabled, uint8_t ol_th_fixed) noexcept
Enable / disable per-channel off-state OC diagnosis and fixed OL threshold.
DriverResult< void > SetVbatThresholds(float uv_voltage, float ov_voltage) noexcept
Set VBAT under/overvoltage thresholds from voltage values (High-Level API)
DriverResult< void > checkInitialized() const noexcept
Check if driver is initialized.
Definition tle92466ed.hpp:1504
DriverResult< void > ConfigureDitherClock(Channel channel, float t_ref_clk_us, bool dither_pwm_sync=false, bool dither_setpoint_sync=false) noexcept
Configure the per-channel dither reference clock (DITHER_CLK_DIV).
DriverResult< CurrentFeedbackBatch > SampleChannelCurrents(uint8_t channel_mask) noexcept
Average current for several channels in one pipelined burst.
DriverResult< void > SetOlsgTimeout(Channel channel, uint8_t olsg_timeout_code) noexcept
Configure open-load/short-to-ground watchdog timeout.
DriverResult< SPIFrame > transferFrame(const SPIFrame &tx_frame, bool verify_crc=true) noexcept
Transfer SPI frame with CRC calculation and verification.
DriverResult< SupplyMonitorSelfTestResult > RunSupplyMonitorSelfTest() noexcept
Run the built-in supply-monitor self-test sequence.
DriverResult< void > clearFaultsInternal() noexcept
Clear faults without checking initialization status (used during Init)
DriverResult< void > SetVbatThresholdsRaw(uint8_t uv_threshold, uint8_t ov_threshold) noexcept
Set VBAT under/overvoltage thresholds (Low-Level API)
DriverResult< uint8_t > GetFeedbackUpdateMask() noexcept
Read FB_UPD — bit N set when channel N has a completed window.
DriverResult< void > WriteRegister(uint16_t address, uint16_t value, bool verify_crc=false, bool verify_write=true) noexcept
Write 16-bit register.
CommType & comm_
Communication interface.
Definition tle92466ed.hpp:1582
DriverResult< void > Disable() noexcept
Disable output channels.
Definition tle92466ed.hpp:1003
DriverResult< void > ConfigurePwmPeriod(Channel channel, float period_us) noexcept
Configure PWM period from desired period in microseconds (High-Level API)
DriverResult< void > applyDefaultConfig() noexcept
Apply default configuration after initialization.
DriverResult< void > ConfigureChannel(Channel channel, const ChannelConfig &config) noexcept
Configure channel slew rate and diagnostics.
DriverResult< void > SeedIntegratorThresholdFromFeedback(Channel channel) noexcept
Seed the ICC integrator from the current feedback reading.
Driver & operator=(const Driver &)=delete
uint16_t ch_ctrl_cache_
Cached CH_CTRL register value (reads return 0x0000)
Definition tle92466ed.hpp:1587
DriverResult< void > ConfigureDitherRaw(Channel channel, uint16_t step_size, uint8_t num_steps, uint8_t flat_steps) noexcept
Configure dither parameters (Low-Level API)
DriverResult< void > ReloadSpiWatchdog(uint16_t reload_value) noexcept
Reload SPI watchdog counter.
DriverResult< void > ReadAllChannelErrorFlags(std::array< ChannelErrorFlags, 6 > &out) noexcept
Latched error bits for all six channels.
DriverResult< void > setVbatThresholdsInternal(float uv_voltage, float ov_voltage) noexcept
Set VBAT thresholds without checking initialization status (used during Init)
DriverResult< void > EnterMissionMode() noexcept
Enter Mission Mode (enables channel control)
bool IsMissionMode() const noexcept
Check if in mission mode.
Definition tle92466ed.hpp:394
DriverResult< void > ClearFaults() noexcept
Clear all fault flags.
DriverResult< float > GetCentralTemperatureCelsius() noexcept
Read only the central die temperature in \u00b0C.
DriverResult< void > ReleaseReset() noexcept
Release device from reset.
Definition tle92466ed.hpp:961
DriverResult< void > DisableAllChannels() noexcept
Disable all channels.
void diagnoseClockConfiguration() noexcept
Diagnose clock configuration by reading CLK_DIV register.
DriverResult< void > ModifyRegister(uint16_t address, uint16_t mask, uint16_t value) noexcept
Modify register bits.
bool vio_5v_mode_
VIO mode state (tracks GLOBAL_CONFIG::VIO_SEL, false=3.3V, true=5V)
Definition tle92466ed.hpp:1586
DriverResult< uint16_t > GetCurrentSetpoint(Channel channel, bool parallel_mode=false) noexcept
Get current setpoint for channel.
DriverResult< uint16_t > GetDutyCycle(Channel channel) noexcept
Get PWM duty cycle for a channel, in permyriad (0..10000).
bool crc_enabled_
CRC enable state (tracks GLOBAL_CONFIG::CRC_EN)
Definition tle92466ed.hpp:1585
static constexpr uint8_t GetDriverVersionMajor() noexcept
Get the compiled driver major version number.
Definition tle92466ed.hpp:1465
DriverResult< std::array< uint16_t, 3 > > GetChipId() noexcept
Read unique chip ID.
DriverResult< int32_t > GetCalibrationAvgCurrent_mA(Channel channel) noexcept
Calibration-grade signed average current from FB_I_AVG_s16.
DriverResult< ChannelFeedback > ReadChannelFeedback(Channel channel, uint32_t timeout_ms=10U) noexcept
Read a coherent feedback snapshot for one channel.
Driver(const Driver &)=delete
Expected type — holds either a value of type T or an error of type E.
Definition tle92466ed_expected.hpp:82
Wrapper for an error value (mirrors std::unexpected)
Definition tle92466ed_expected.hpp:56
constexpr uint8_t MIN_INT_THRESH_FLOOR
Smallest MIN_INT_THRESH that keeps the ICC power stage switching.
Definition tle92466ed_registers.hpp:860
constexpr uint32_t F_SYS_TARGET_HZ
Target fSYS.
Definition tle92466ed_registers.hpp:1125
Definition tle92466ed.hpp:15
DriverError
Driver error codes.
Definition tle92466ed.hpp:20
@ ConfigurationError
Configuration failed.
@ FaultDetected
Device fault detected.
@ RegisterError
Register read/write error.
@ SPIFrameError
SPI frame error from device.
@ DeviceNotResponding
Device not responding to SPI.
@ TimeoutError
Operation timeout.
@ HardwareError
Communication interface error.
@ InvalidParameter
Invalid parameter value.
@ WrongDeviceID
Incorrect device ID read.
@ CRCError
CRC mismatch in SPI communication.
@ InvalidChannel
Invalid channel number.
@ NotInitialized
Driver not initialized.
@ FeedbackNotReady
Averaged-feedback measurement window not established.
@ WriteToReadOnly
Attempted write to read-only register.
@ WrongMode
Operation not allowed in current mode.
const char * GetDriverVersion() noexcept
Return the compiled driver version string (same as Driver::GetDriverVersion()).
Definition tle92466ed.hpp:1601
ChannelMode
Channel operation mode.
Definition tle92466ed_registers.hpp:2025
@ ICC
Integrated Current Control.
constexpr bool IsValidChannel(Channel ch) noexcept
Validate channel number.
Definition tle92466ed_registers.hpp:2294
MaskableFault
Maskable fault sources for SetFaultMask().
Definition tle92466ed_registers.hpp:2453
VioLevel
VIO voltage-level selection for SetVioLevel().
Definition tle92466ed_registers.hpp:2381
ClockSource
Clock source selection for ConfigureClockSource().
Definition tle92466ed_registers.hpp:2373
OperationState
Coarse operational state returned by GetOperationState().
Definition tle92466ed_registers.hpp:2396
ParallelPair
Parallel operation pairs.
Definition tle92466ed_registers.hpp:2057
DiagCurrent
OFF-state diagnostic current.
Definition tle92466ed_registers.hpp:2047
Channel
Channel enumeration.
Definition tle92466ed_registers.hpp:2011
SlewRate
Slew rate enumeration.
Definition tle92466ed_registers.hpp:2037
Result of RunSffBist().
Definition tle92466ed_registers.hpp:2427
Channel configuration structure.
Definition tle92466ed.hpp:61
ChannelMode mode
Channel operation mode.
Definition tle92466ed.hpp:62
bool auto_limit_disabled
Disable auto-limit feature.
Definition tle92466ed.hpp:69
uint8_t dither_flat
Flat period steps.
Definition tle92466ed.hpp:83
uint16_t current_setpoint_ma
Current setpoint in mA (0-2000 or 0-4000)
Definition tle92466ed.hpp:63
uint16_t pwm_period_mantissa
PWM period mantissa.
Definition tle92466ed.hpp:67
uint8_t open_load_threshold
OL threshold (0=disabled, 1-7 = 1/8 to 7/8)
Definition tle92466ed.hpp:66
bool pwm_period_calc_mode
Ignore falling dither slopes in the PWM period controller (§4.6.2.3).
Definition tle92466ed.hpp:79
SlewRate slew_rate
Output slew rate.
Definition tle92466ed.hpp:64
uint8_t min_int_thresh
Definition tle92466ed.hpp:77
bool olsg_warning_enabled
Enable OLSG warning.
Definition tle92466ed.hpp:70
bool deep_dither_enabled
Enable deep dither.
Definition tle92466ed.hpp:80
uint8_t dither_steps
Number of dither steps.
Definition tle92466ed.hpp:82
uint16_t dither_step_size
Dither amplitude step size.
Definition tle92466ed.hpp:81
uint8_t pwm_period_exponent
PWM period exponent.
Definition tle92466ed.hpp:68
DiagCurrent diag_current
OFF-state diagnostic current.
Definition tle92466ed.hpp:65
One channel's decoded average current from a batched freeze/read.
Definition tle92466ed.hpp:168
bool window_valid
Both reads succeeded and TP_MANT is credible.
Definition tle92466ed.hpp:172
uint16_t tp_mant
FB_DC TP_MANT — the measurement window itself.
Definition tle92466ed.hpp:170
int32_t iavg_ma
Signed average load current, milliamps.
Definition tle92466ed.hpp:169
uint16_t to_mant
FB_DC TO_MANT — last PWM cycle on-time (not the average)
Definition tle92466ed.hpp:171
Channel diagnostic information.
Definition tle92466ed.hpp:124
bool ot_warning
Channel over-temperature warning (OTW)
Definition tle92466ed.hpp:133
bool short_to_ground
Short to ground.
Definition tle92466ed.hpp:127
int16_t max_current_mA
Maximum load current in mA (signed; FB_IMIN_IMAX.IMAX)
Definition tle92466ed.hpp:143
int16_t min_current_mA
Minimum load current in mA (signed; FB_IMIN_IMAX.IMIN)
Definition tle92466ed.hpp:142
uint16_t vbat_feedback
VBAT feedback (raw FB_VBAT)
Definition tle92466ed.hpp:144
bool over_temperature
Channel over-temperature error (OTE)
Definition tle92466ed.hpp:129
bool pwm_regulation_warning
ICC PWM regulation warning (PWM_REG)
Definition tle92466ed.hpp:135
bool olsg_warning
OLSG warning (OLSG_WARN)
Definition tle92466ed.hpp:136
bool open_load_short_ground
Open load or short to ground (OLSG pre-check)
Definition tle92466ed.hpp:130
bool open_load
Open load.
Definition tle92466ed.hpp:128
bool overcurrent
Over-current detected.
Definition tle92466ed.hpp:126
uint16_t duty_cycle
Raw FB_DC bits — use GetDutyCycle() for permyriad.
Definition tle92466ed.hpp:141
bool current_regulation_warning
ICC current regulation warning (I_REG)
Definition tle92466ed.hpp:134
bool olsg_check_not_performed
OLSG check not yet performed (OLSG_WARN_CHK_NOK; POR=1)
Definition tle92466ed.hpp:137
uint16_t average_current
Raw FB_I_AVG bits — use GetAverageCurrent() for mA.
Definition tle92466ed.hpp:140
Latched error bits for one channel (DIAG_ERR_CHGRx only).
Definition tle92466ed.hpp:154
bool open_load
OL.
Definition tle92466ed.hpp:156
bool over_temperature
OTE.
Definition tle92466ed.hpp:159
bool open_load_short_ground
OLSG pre-check (latched)
Definition tle92466ed.hpp:155
bool short_to_ground
SG.
Definition tle92466ed.hpp:158
bool overcurrent
OC.
Definition tle92466ed.hpp:157
High-resolution per-channel feedback snapshot (Phase 6).
Definition tle92466ed_registers.hpp:2501
Result of one Tle92466edDriver::SampleChannelCurrents call.
Definition tle92466ed.hpp:178
uint8_t update_mask
FB_UPD: channels with a completed window.
Definition tle92466ed.hpp:180
std::array< ChannelCurrentSample, 6 > channels
Definition tle92466ed.hpp:190
uint8_t valid_mask
Channels whose sample is trustworthy.
Definition tle92466ed.hpp:181
uint8_t requested_mask
Channels the caller asked for.
Definition tle92466ed.hpp:179
uint8_t rejected_chains
Read chains discarded because their reply anchors did not verify.
Definition tle92466ed.hpp:189
Global device status structure.
Definition tle92466ed.hpp:89
bool por_event
Power-on reset occurred.
Definition tle92466ed.hpp:109
bool vdd_ov
VDD overvoltage.
Definition tle92466ed.hpp:100
bool vio_uv
VIO undervoltage.
Definition tle92466ed.hpp:97
bool vdd_uv
VDD undervoltage.
Definition tle92466ed.hpp:99
bool spi_wd_error
SPI watchdog error.
Definition tle92466ed.hpp:108
bool init_done
Initialization complete.
Definition tle92466ed.hpp:91
bool config_mode
In config mode (vs mission mode)
Definition tle92466ed.hpp:90
bool any_fault
Any fault condition present.
Definition tle92466ed.hpp:92
bool ot_error
Over-temperature error.
Definition tle92466ed.hpp:104
uint16_t vio_voltage
VIO voltage (raw value)
Definition tle92466ed.hpp:118
bool vbat_ov
VBAT overvoltage.
Definition tle92466ed.hpp:96
bool ot_warning
Over-temperature warning.
Definition tle92466ed.hpp:103
bool clock_fault
Clock fault.
Definition tle92466ed.hpp:107
bool vbat_uv
VBAT undervoltage.
Definition tle92466ed.hpp:95
bool vio_ov
VIO overvoltage.
Definition tle92466ed.hpp:98
bool reset_event
External reset occurred.
Definition tle92466ed.hpp:110
uint16_t vbat_voltage
VBAT voltage (raw value)
Definition tle92466ed.hpp:117
bool supply_nok_external
External supply fault.
Definition tle92466ed.hpp:114
bool supply_nok_internal
Internal supply fault.
Definition tle92466ed.hpp:113
High-level dither configuration (Phase 4 superset of ConfigureDither).
Definition tle92466ed_registers.hpp:2415
Definition tle92466ed.hpp:239
bool short_to_ground
Short to ground.
Definition tle92466ed.hpp:242
bool open_load_short_ground
Open load or short to ground.
Definition tle92466ed.hpp:245
bool overcurrent
Over-current.
Definition tle92466ed.hpp:241
bool over_temperature
Over-temperature.
Definition tle92466ed.hpp:244
bool has_fault
Any fault on this channel.
Definition tle92466ed.hpp:240
bool pwm_regulation_warning
PWM regulation warning.
Definition tle92466ed.hpp:248
bool open_load
Open load.
Definition tle92466ed.hpp:243
bool olsg_warning
OLSG warning.
Definition tle92466ed.hpp:249
bool current_regulation_warning
Current regulation warning.
Definition tle92466ed.hpp:247
bool ot_warning
Over-temperature warning.
Definition tle92466ed.hpp:246
Comprehensive fault report structure.
Definition tle92466ed.hpp:200
bool vr_iref_ov
Internal bias current overvoltage.
Definition tle92466ed.hpp:213
bool clock_fault
Clock fault.
Definition tle92466ed.hpp:222
bool vbat_ov
VBAT overvoltage.
Definition tle92466ed.hpp:205
bool supply_nok_external
External supply fault summary.
Definition tle92466ed.hpp:256
bool spi_wd_error
SPI watchdog error.
Definition tle92466ed.hpp:223
std::array< ChannelFaults, 6 > channels
Faults for each channel (CH0-CH5)
Definition tle92466ed.hpp:252
bool otp_virgin
OTP virgin/unconfigured.
Definition tle92466ed.hpp:236
bool vdd_ov
VDD overvoltage.
Definition tle92466ed.hpp:209
bool supply_nok_internal
Internal supply fault summary.
Definition tle92466ed.hpp:255
bool vio_ov
VIO overvoltage.
Definition tle92466ed.hpp:207
bool any_fault
Any fault condition present.
Definition tle92466ed.hpp:201
bool vdd2v5_ov
Internal 2.5V supply overvoltage.
Definition tle92466ed.hpp:215
bool vio_uv
VIO undervoltage.
Definition tle92466ed.hpp:206
bool vr_iref_uv
Internal bias current undervoltage.
Definition tle92466ed.hpp:212
bool otp_ecc_err
OTP ECC error.
Definition tle92466ed.hpp:235
bool ot_error
Central over-temperature error.
Definition tle92466ed.hpp:226
bool ref_ov
Internal reference overvoltage.
Definition tle92466ed.hpp:217
bool vbat_uv
VBAT undervoltage.
Definition tle92466ed.hpp:204
bool ot_warning
Central over-temperature warning.
Definition tle92466ed.hpp:227
bool ref_uv
Internal reference undervoltage.
Definition tle92466ed.hpp:216
bool por_event
Power-on reset event.
Definition tle92466ed.hpp:230
bool reset_event
External reset event.
Definition tle92466ed.hpp:231
bool hvadc_err
Internal monitoring ADC error.
Definition tle92466ed.hpp:219
bool vdd_uv
VDD undervoltage.
Definition tle92466ed.hpp:208
bool reg_ecc_err
Register ECC error.
Definition tle92466ed.hpp:234
bool vdd2v5_uv
Internal 2.5V supply undervoltage.
Definition tle92466ed.hpp:214
bool vpre_ov
Internal pre-regulator overvoltage.
Definition tle92466ed.hpp:218
Global configuration structure.
Definition tle92466ed.hpp:269
bool spi_watchdog_enabled
Enable SPI watchdog (GLOBAL_CONFIG.SPI_WD_EN)
Definition tle92466ed.hpp:271
bool vio_5v
VIO voltage (false=3.3V, true=5.0V)
Definition tle92466ed.hpp:273
bool clock_watchdog_enabled
Enable clock watchdog (GLOBAL_CONFIG.CLK_WD_EN)
Definition tle92466ed.hpp:272
float vbat_uv_voltage
VBAT UV threshold voltage in volts.
Definition tle92466ed.hpp:274
float vbat_ov_voltage
VBAT OV threshold voltage in volts.
Definition tle92466ed.hpp:275
bool crc_enabled
Enable CRC checking (GLOBAL_CONFIG.CRC_EN)
Definition tle92466ed.hpp:270
uint16_t spi_watchdog_reload
SPI watchdog reload value (WD_RELOAD)
Definition tle92466ed.hpp:276
Snapshot returned by ReadPinStatus().
Definition tle92466ed_registers.hpp:2438
Result of RunSupplyMonitorSelfTest().
Definition tle92466ed_registers.hpp:2517
C++20-compatible expected<T,E> polyfill for TLE92466ED driver.
Register definitions and bit field mappings for TLE92466ED.
Communication Interface base class for TLE92466ED driver.
32-bit SPI frame structure for TLE92466ED communication
Definition tle92466ed_spi_interface.hpp:200