TLE92466ED Driver 2.0.0
API reference
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
tle92466ed Namespace Reference

Namespaces

namespace  CentralReg
 Central and global register addresses.
 
namespace  CH_CONFIG
 CH_CONFIG register bit definitions.
 
namespace  CH_CTRL
 CH_CTRL register bit definitions.
 
namespace  CH_CTRL_REG
 Channel CTRL register bit definitions.
 
namespace  CH_MODE
 Channel MODE register bit definitions.
 
namespace  ChannelBase
 Per-channel register base addresses.
 
namespace  ChannelReg
 Per-channel register offsets (add to channel base address)
 
namespace  CLK_DIV
 CLK_DIV bit definitions.
 
namespace  CTRL_INT_THRESH
 CTRL_INT_THRESH register bit definitions.
 
namespace  DeviceID
 Device identification and version information.
 
namespace  DIAG_ERR_CHGR
 DIAG_ERR_CHGR bit layout and address helpers.
 
namespace  DIAG_WARN_CHGR
 DIAG_WARN_CHGR bit layout and address helpers.
 
namespace  DITHER
 Dither configuration helper functions.
 
namespace  DITHER_CLK_DIV
 DITHER_CLK_DIV register bitfield definitions and helpers.
 
namespace  DITHER_CTRL
 DITHER_CTRL register bit definitions.
 
namespace  DITHER_STEP
 DITHER_STEP register bit definitions.
 
namespace  FAULT_MASK0
 FAULT_MASK bit definitions.
 
namespace  FAULT_MASK1
 
namespace  FAULT_MASK2
 
namespace  FB_FEEDBACK
 Per-channel averaged feedback decoders for FB_DC, FB_I_AVG, FB_VBAT.
 
namespace  FB_I_AVG_s16
 FB_I_AVG_s16 decoder (calibration only — see the warning below).
 
namespace  FB_IMIN_IMAX
 Decoder for the FB_IMIN_IMAX register (ChannelReg::FB_IMIN_IMAX).
 
namespace  FB_INT_THRESH
 FB_INT_THRESH feedback reader.
 
namespace  FB_PERIOD_MIN_MAX
 FB_PERIOD_MIN_MAX decoder.
 
namespace  FB_STAT
 FB_STAT register bit definitions.
 
namespace  GLOBAL_CONFIG
 GLOBAL_CONFIG register bit definitions.
 
namespace  GLOBAL_DIAG0
 GLOBAL_DIAG0 register bit definitions.
 
namespace  GLOBAL_DIAG1
 GLOBAL_DIAG1 register bit definitions.
 
namespace  GLOBAL_DIAG2
 GLOBAL_DIAG2 register bit definitions (datasheet Rev 1.2 §5.3.2.7).
 
namespace  INTEGRATOR_LIMIT
 INTEGRATOR_LIMIT register bit definitions.
 
namespace  PERIOD
 PERIOD register bit definitions and helper functions.
 
namespace  PIN_STAT
 PIN_STAT bit definitions.
 
namespace  SETPOINT
 SETPOINT register bit definitions (per channel)
 
namespace  SFF_BIST
 SFF_BIST bit definitions.
 
namespace  TON
 TON register bit definitions.
 
namespace  VBAT_THRESHOLD
 VBAT threshold helper functions.
 
namespace  VOLTAGE_FEEDBACK
 Voltage feedback helper functions for FB_VOLTAGE1 and FB_VOLTAGE2.
 
namespace  WD_RELOAD
 WD_RELOAD register bit definitions.
 

Classes

struct  BistResult
 Result of RunSffBist(). More...
 
struct  ChannelConfig
 Channel configuration structure. More...
 
struct  ChannelCurrentSample
 One channel's decoded average current from a batched freeze/read. More...
 
struct  ChannelDiagnostics
 Channel diagnostic information. More...
 
struct  ChannelErrorFlags
 Latched error bits for one channel (DIAG_ERR_CHGRx only). More...
 
struct  ChannelFeedback
 High-resolution per-channel feedback snapshot (Phase 6). More...
 
struct  CriticalFaultFlags
 Helper structure for critical fault frame flags. More...
 
struct  CurrentFeedbackBatch
 Result of one Tle92466edDriver::SampleChannelCurrents call. More...
 
struct  DeviceStatus
 Global device status structure. More...
 
struct  DitherSetup
 High-level dither configuration (Phase 4 superset of ConfigureDither). More...
 
class  Driver
 Main TLE92466ED driver class. More...
 
struct  FaultReport
 Comprehensive fault report structure. More...
 
struct  GlobalConfig
 Global configuration structure. More...
 
struct  PinStatus
 Snapshot returned by ReadPinStatus(). More...
 
struct  SPIConfig
 SPI transaction configuration. More...
 
union  SPIFrame
 32-bit SPI frame structure for TLE92466ED communication More...
 
class  SpiInterface
 CRTP-based Communication Interface template class. More...
 
struct  SupplyMonitorSelfTestResult
 Result of RunSupplyMonitorSelfTest(). More...
 
struct  SupplyVoltages
 High-level supply-voltage snapshot returned by ReadAllSupplyVoltages(). More...
 

Typedefs

template<typename T >
using DriverResult = tle::expected< T, DriverError >
 Driver result type.
 
template<typename T >
using CommResult = tle::expected< T, CommError >
 Result type for communication interface operations.
 

Enumerations

enum class  DriverError : uint8_t {
  None = 0 , NotInitialized , HardwareError , InvalidChannel ,
  InvalidParameter , DeviceNotResponding , WrongDeviceID , RegisterError ,
  CRCError , FaultDetected , ConfigurationError , TimeoutError ,
  WrongMode , SPIFrameError , WriteToReadOnly , FeedbackNotReady
}
 Driver error codes. More...
 
enum class  Channel : uint8_t {
  CH0 = 0 , CH1 = 1 , CH2 = 2 , CH3 = 3 ,
  CH4 = 4 , CH5 = 5 , COUNT = 6
}
 Channel enumeration. More...
 
enum class  ChannelMode : uint8_t {
  OFF = 0x0 , ICC = 0x1 , DIRECT_DRIVE_SPI = 0x2 , DIRECT_DRIVE_DRV0 = 0x3 ,
  DIRECT_DRIVE_DRV1 = 0x4 , FREE_RUN_MEAS = 0xC
}
 Channel operation mode. More...
 
enum class  SlewRate : uint8_t { SLOW_1V0_US = 0 , MEDIUM_2V5_US = 1 , FAST_5V0_US = 2 , FASTEST_10V0_US = 3 }
 Slew rate enumeration. More...
 
enum class  DiagCurrent : uint8_t { I_80UA = 0 , I_190UA = 1 , I_720UA = 2 , I_1250UA = 3 }
 OFF-state diagnostic current. More...
 
enum class  ParallelPair : uint8_t { NONE = 0 , CH0_CH3 = 1 , CH1_CH2 = 2 , CH4_CH5 = 3 }
 Parallel operation pairs. More...
 
enum class  ExpectedReply : uint8_t { Bits16 , Bits22 }
 Reply-frame width a register is required to answer with. More...
 
enum class  ClockSource : uint8_t { InternalOscillator , ExternalClockPll }
 Clock source selection for ConfigureClockSource(). More...
 
enum class  VioLevel : uint8_t { V3_3 = 0 , V5_0 = 1 }
 VIO voltage-level selection for SetVioLevel(). More...
 
enum class  OperationState : uint8_t { Reset , Config , Mission , CriticalFault }
 Coarse operational state returned by GetOperationState(). More...
 
enum class  FastMeasureMode : uint8_t { FullPeriod = 0 , HalfPeriod = 1 , QuarterPeriod = 2 }
 Fast-measurement mode for dither-synchronous feedback. More...
 
enum class  MaskableFault : uint32_t {
  Ch0Error = (0u << 24) | (1u << 0) , Ch1Error = (0u << 24) | (1u << 1) , Ch2Error = (0u << 24) | (1u << 2) , Ch3Error = (0u << 24) | (1u << 3) ,
  Ch4Error = (0u << 24) | (1u << 4) , Ch5Error = (0u << 24) | (1u << 5) , EnPin = (0u << 24) | (1u << 13) , SupplyNokInternal = (0u << 24) | (1u << 14) ,
  SupplyNokExternal = (0u << 24) | (1u << 15) , Ch0Warning = (1u << 24) | (1u << 0) , Ch1Warning = (1u << 24) | (1u << 1) , Ch2Warning = (1u << 24) | (1u << 2) ,
  Ch3Warning = (1u << 24) | (1u << 3) , Ch4Warning = (1u << 24) | (1u << 4) , Ch5Warning = (1u << 24) | (1u << 5) , CentralOtWarning = (1u << 24) | (1u << 12) ,
  CentralOtError = (1u << 24) | (1u << 13) , ClockLow = (1u << 24) | (1u << 14) , VbatUv = (2u << 24) | (1u << 0) , VbatOv = (2u << 24) | (1u << 1) ,
  VioUv = (2u << 24) | (1u << 2) , VioOv = (2u << 24) | (1u << 3) , VddUv = (2u << 24) | (1u << 4) , VddOv = (2u << 24) | (1u << 5) ,
  DataErr = (2u << 24) | (1u << 14) , SpiWatchdog = (2u << 24) | (1u << 15)
}
 Maskable fault sources for SetFaultMask(). More...
 
enum class  CommError : uint8_t {
  None = 0 , BusError , Timeout , InvalidParameter ,
  TransferError , HardwareNotReady , BufferOverflow , CRCError ,
  NoReply , UnknownError
}
 Error codes for communication interface operations. More...
 
enum class  CtrlPin : uint8_t { RESN , EN , FAULTN }
 Control pin enumeration for TLE92466ED. More...
 
enum class  GpioSignal : uint8_t { INACTIVE = 0 , ACTIVE = 1 }
 GPIO signal states with board-agnostic naming. More...
 
enum class  LogLevel : uint8_t {
  Error = 0 , Warn , Info , Debug ,
  Verbose
}
 Log severity levels for driver logging. More...
 
enum class  ReplyMode : uint8_t { REPLY_16BIT = 0b00 , REPLY_22BIT = 0b01 , CRITICAL_FAULT = 0b10 , RESERVED = 0b11 }
 SPI Reply Mode enumeration. More...
 
enum class  SPIStatus : uint8_t {
  NO_ERROR = 0b00000 , SPI_FRAME_ERROR = 0b00001 , CRC_ERROR = 0b00010 , WRITE_RO_REG = 0b00011 ,
  INTERNAL_BUS_FAULT = 0b00100
}
 SPI Status codes. More...
 

Functions

const char * GetDriverVersion () noexcept
 Return the compiled driver version string (same as Driver::GetDriverVersion()).
 
constexpr uint16_t GetChannelBase (Channel channel) noexcept
 Get channel base address.
 
constexpr uint16_t GetChannelRegister (Channel channel, uint16_t offset) noexcept
 Get channel register address.
 
constexpr ExpectedReply ExpectedReplyFor (uint16_t address) noexcept
 Reply width the device must use when answering a read of address.
 
constexpr uint8_t ToIndex (Channel ch) noexcept
 Convert channel to index.
 
const char * ToString (ChannelMode mode) noexcept
 Convert ChannelMode enum to string.
 
const char * ToString (SlewRate rate) noexcept
 Convert SlewRate enum to string.
 
const char * ToString (DiagCurrent current) noexcept
 Convert DiagCurrent enum to string.
 
const char * ToString (ParallelPair pair) noexcept
 Convert ParallelPair enum to string.
 
const char * ToString (Channel channel) noexcept
 Convert Channel enum to string.
 
constexpr bool IsValidChannel (Channel ch) noexcept
 Validate channel number.
 
constexpr uint8_t CalculateCrc8J1850 (const uint8_t *data, std::size_t length) noexcept
 Calculate SAE J1850 CRC-8.
 
uint8_t CalculateFrameCrc (const tle92466ed::SPIFrame &frame) noexcept
 Calculate CRC for SPI frame.
 
bool VerifyFrameCrc (const tle92466ed::SPIFrame &frame) noexcept
 Verify CRC in received frame.
 
constexpr uint8_t FaultMaskIndex (MaskableFault f) noexcept
 Extract FAULT_MASK register index (0..2) from a MaskableFault value.
 
constexpr uint16_t FaultMaskBit (MaskableFault f) noexcept
 Extract the bit mask within the target FAULT_MASK register.
 

Typedef Documentation

◆ CommResult

template<typename T >
using tle92466ed::CommResult = typedef tle::expected<T, CommError>

Result type for communication interface operations.

Template Parameters
TThe success type

This provides a modern, safe way to return either a success value or an error. Uses std::expected on C++23, or a lightweight polyfill on C++20.

◆ DriverResult

template<typename T >
using tle92466ed::DriverResult = typedef tle::expected<T, DriverError>

Driver result type.

Note
FeedbackNotReady is returned by GetAverageCurrent() when FB_FEEDBACK::HasValidMeasurementWindow() is false for the channel's FB_DC read (see FB_FEEDBACK::kMinValidTpMant). Typical causes: DITHER_CLK_DIV still at its POR value of 0 (so Tmeas never runs), feedback frozen via FB_FRZ, or a pipelined reply spliced on a shared bus. Reporting it explicitly stops a near-zero divisor from being published as a plausible-looking current.

Enumeration Type Documentation

◆ Channel

enum class tle92466ed::Channel : uint8_t
strong

Channel enumeration.

Enumerator
CH0 

Channel 0.

CH1 

Channel 1.

CH2 

Channel 2.

CH3 

Channel 3.

CH4 

Channel 4.

CH5 

Channel 5.

COUNT 

Number of channels (not a valid channel selector)

◆ ChannelMode

enum class tle92466ed::ChannelMode : uint8_t
strong

Channel operation mode.

Enumerator
OFF 

Channel off.

ICC 

Integrated Current Control.

DIRECT_DRIVE_SPI 

Direct drive via SPI TON register.

DIRECT_DRIVE_DRV0 

Direct drive via DRV0 pin.

DIRECT_DRIVE_DRV1 

Direct drive via DRV1 pin.

FREE_RUN_MEAS 

Free running measurement mode.

◆ ClockSource

enum class tle92466ed::ClockSource : uint8_t
strong

Clock source selection for ConfigureClockSource().

Enumerator
InternalOscillator 

Use internal ring oscillator (fSYS \u2248 28 MHz \u00b1 10 %)

ExternalClockPll 

Use external clock on DRV0 or dedicated pin, synth via PLL.

◆ CommError

enum class tle92466ed::CommError : uint8_t
strong

Error codes for communication interface operations.

This enumeration defines all possible error conditions that can occur during hardware communication with the TLE92466ED IC.

Enumerator
None 

No error occurred.

BusError 

SPI bus communication error.

Timeout 

Operation timed out.

InvalidParameter 

Invalid parameter passed to function.

TransferError 

Data transfer failed.

HardwareNotReady 

Hardware not initialized or ready.

BufferOverflow 

Buffer size exceeded.

CRCError 

CRC mismatch error.

NoReply 

MISO carried no frame at all (all-zero or all-ones word).

Distinct from CRCError so a disconnected or unpowered device is not reported as a corrupt one. Previously an empty word was returned as a successful read of value 0, which every caller then decoded as real register content.

UnknownError 

Unknown error occurred.

◆ CtrlPin

enum class tle92466ed::CtrlPin : uint8_t
strong

Control pin enumeration for TLE92466ED.

These pins are used for device control and status monitoring. The naming convention matches the standardized GPIO interface used across all HardFOC drivers.

Enumerator
RESN 

Reset pin (active low) - Must be HIGH for device operation.

EN 

Enable pin (active high) - Enables/disables output channels.

FAULTN 

Fault pin (active low) - Indicates device fault condition.

◆ DiagCurrent

enum class tle92466ed::DiagCurrent : uint8_t
strong

OFF-state diagnostic current.

Enumerator
I_80UA 

80 µA

I_190UA 

190 µA

I_720UA 

720 µA

I_1250UA 

1250 µA

◆ DriverError

enum class tle92466ed::DriverError : uint8_t
strong

Driver error codes.

Enumerator
None 

No error.

NotInitialized 

Driver not initialized.

HardwareError 

Communication interface error.

InvalidChannel 

Invalid channel number.

InvalidParameter 

Invalid parameter value.

DeviceNotResponding 

Device not responding to SPI.

WrongDeviceID 

Incorrect device ID read.

RegisterError 

Register read/write error.

CRCError 

CRC mismatch in SPI communication.

FaultDetected 

Device fault detected.

ConfigurationError 

Configuration failed.

TimeoutError 

Operation timeout.

WrongMode 

Operation not allowed in current mode.

SPIFrameError 

SPI frame error from device.

WriteToReadOnly 

Attempted write to read-only register.

FeedbackNotReady 

Averaged-feedback measurement window not established.

◆ ExpectedReply

enum class tle92466ed::ExpectedReply : uint8_t
strong

Reply-frame width a register is required to answer with.

See also
ExpectedReplyFor
Enumerator
Bits16 

Reply mode 00B — 16-bit data plus a status field.

Bits22 

Reply mode 01B — 22-bit data, no status field.

◆ FastMeasureMode

enum class tle92466ed::FastMeasureMode : uint8_t
strong

Fast-measurement mode for dither-synchronous feedback.

Enumerator
FullPeriod 

Measurement window = full dither period.

HalfPeriod 

Measurement window = half dither period.

QuarterPeriod 

Measurement window = quarter dither period.

◆ GpioSignal

enum class tle92466ed::GpioSignal : uint8_t
strong

GPIO signal states with board-agnostic naming.

Defines the logical active/inactive state of control pins. The actual HIGH/LOW GPIO level depends on whether the pin is active-high or active-low.

Note
This represents the logical state (active/inactive), not the physical GPIO level. The CommInterface implementation handles the active-high vs active-low conversion.
Enumerator
INACTIVE 

Inactive signal state (logical inactive)

ACTIVE 

Active signal state (logical active)

◆ LogLevel

enum class tle92466ed::LogLevel : uint8_t
strong

Log severity levels for driver logging.

Defines the severity levels for logging messages from the driver. Implementations should map these to their platform-specific logging systems.

Enumerator
Error 

Error messages (highest severity)

Warn 

Warning messages.

Info 

Informational messages.

Debug 

Debug messages (lowest severity)

Verbose 

Verbose messages (lowest severity, most detailed)

◆ MaskableFault

enum class tle92466ed::MaskableFault : uint32_t
strong

Maskable fault sources for SetFaultMask().

Each enumerator packs a FAULT_MASK register index (0/1/2) in the upper byte and the bit-mask within that register in the lower 16 bits.

Enumerator
Ch0Error 

CH0 error → FAULTN.

Ch1Error 

CH1 error → FAULTN.

Ch2Error 

CH2 error → FAULTN.

Ch3Error 

CH3 error → FAULTN.

Ch4Error 

CH4 error → FAULTN.

Ch5Error 

CH5 error → FAULTN.

EnPin 

EN pin fault → FAULTN.

SupplyNokInternal 

Internal supply NOK → FAULTN.

SupplyNokExternal 

External supply NOK → FAULTN.

Ch0Warning 

CH0 warning → FAULTN.

Ch1Warning 

CH1 warning → FAULTN.

Ch2Warning 

CH2 warning → FAULTN.

Ch3Warning 

CH3 warning → FAULTN.

Ch4Warning 

CH4 warning → FAULTN.

Ch5Warning 

CH5 warning → FAULTN.

CentralOtWarning 

Central OT warning → FAULTN.

CentralOtError 

Central OT error → FAULTN.

ClockLow 

Clock too slow → FAULTN.

VbatUv 

VBAT undervoltage → FAULTN.

VbatOv 

VBAT overvoltage → FAULTN.

VioUv 

VIO undervoltage → FAULTN.

VioOv 

VIO overvoltage → FAULTN.

VddUv 

VDD undervoltage → FAULTN.

VddOv 

VDD overvoltage → FAULTN.

DataErr 

OTP/REG DATA_err → FAULTN (do not mask to hide LED)

SpiWatchdog 

SPI watchdog → FAULTN.

◆ OperationState

enum class tle92466ed::OperationState : uint8_t
strong

Coarse operational state returned by GetOperationState().

Enumerator
Reset 

Held in reset (RESN low)

Config 

Powered and initialized, but not in mission mode.

Mission 

Outputs operational.

CriticalFault 

Critical-fault reply flag set; requires reset/clear.

◆ ParallelPair

enum class tle92466ed::ParallelPair : uint8_t
strong

Parallel operation pairs.

Enumerator
NONE 

No parallel operation.

CH0_CH3 

Channels 0 and 3 paralleled.

CH1_CH2 

Channels 1 and 2 paralleled.

CH4_CH5 

Channels 4 and 5 paralleled.

◆ ReplyMode

enum class tle92466ed::ReplyMode : uint8_t
strong

SPI Reply Mode enumeration.

Enumerator
REPLY_16BIT 

16-bit reply frame

REPLY_22BIT 

22-bit reply frame (extended data)

CRITICAL_FAULT 

Critical fault frame.

RESERVED 

Reserved.

◆ SlewRate

enum class tle92466ed::SlewRate : uint8_t
strong

Slew rate enumeration.

Enumerator
SLOW_1V0_US 

1.0 V/µs

MEDIUM_2V5_US 

2.5 V/µs

FAST_5V0_US 

5.0 V/µs

FASTEST_10V0_US 

10.0 V/µs

◆ SPIStatus

enum class tle92466ed::SPIStatus : uint8_t
strong

SPI Status codes.

Enumerator
NO_ERROR 

No error.

SPI_FRAME_ERROR 

SPI frame error.

CRC_ERROR 

Parity/CRC error.

WRITE_RO_REG 

Write to read-only register.

INTERNAL_BUS_FAULT 

Internal bus fault.

◆ VioLevel

enum class tle92466ed::VioLevel : uint8_t
strong

VIO voltage-level selection for SetVioLevel().

Enumerator
V3_3 
V5_0 

Function Documentation

◆ CalculateCrc8J1850()

constexpr uint8_t tle92466ed::CalculateCrc8J1850 ( const uint8_t *  data,
std::size_t  length 
)
constexprnoexcept

Calculate SAE J1850 CRC-8.

Polynomial: 0x1D (x^8 + x^4 + x^3 + x^2 + 1) Initial value: 0xFF Final XOR: 0xFF

Parameters
dataPointer to data bytes
lengthNumber of bytes
Returns
CRC-8 value

◆ CalculateFrameCrc()

uint8_t tle92466ed::CalculateFrameCrc ( const tle92466ed::SPIFrame &  frame)
inlinenoexcept

Calculate CRC for SPI frame.

Parameters
frameSPI frame (CRC field should be 0)
Returns
Calculated CRC value

Datasheet Rev 1.2 §5.1.2 fixes the CRC byte sequence as frame[7:0], then frame[15:8], then frame[23:16] — i.e. little-endian byte order, which is the reverse of the MSB-first wire order. On a little-endian target that is exactly bytes 0..2 of the frame word.

◆ ExpectedReplyFor()

constexpr ExpectedReply tle92466ed::ExpectedReplyFor ( uint16_t  address)
constexprnoexcept

Reply width the device must use when answering a read of address.

Parameters
addressRegister address passed to a read.
Returns
Bits22 for the feedback/status registers that answer in reply mode 01B; Bits16 for everything else.

The pipelined bus does not echo the address in a reply, so a reply that arrives in the wrong slot is otherwise indistinguishable from the register that was asked for — and it carries a valid CRC, so CRC alone cannot reject it. Bench measurement (2026-08-13) had 25 % of FB_STAT reads return the preceding ICVID reply, which decoded as plausible-looking status bits. Comparing the reply mode against this table catches the subset of those where the two registers differ in width, which covers every feedback register the current-control path depends on.

Note
Width is a necessary, not sufficient, check: a stale reply from another register of the same width still passes. Reads are retried until a well-formed reply arrives rather than trusted on first sight.

◆ FaultMaskBit()

constexpr uint16_t tle92466ed::FaultMaskBit ( MaskableFault  f)
constexprnoexcept

Extract the bit mask within the target FAULT_MASK register.

◆ FaultMaskIndex()

constexpr uint8_t tle92466ed::FaultMaskIndex ( MaskableFault  f)
constexprnoexcept

Extract FAULT_MASK register index (0..2) from a MaskableFault value.

◆ GetChannelBase()

constexpr uint16_t tle92466ed::GetChannelBase ( Channel  channel)
constexprnoexcept

Get channel base address.

Parameters
channelChannel number (0-5)
Returns
Base address for channel registers

Per datasheet Table 25, channel base addresses are:

  • CH0: 0x0040
  • CH1: 0x0050
  • CH2: 0x0060
  • CH3: 0x0070
  • CH4: 0x0020
  • CH5: 0x0030

Note: Channels are NOT in sequential order, so we use a lookup table.

◆ GetChannelRegister()

constexpr uint16_t tle92466ed::GetChannelRegister ( Channel  channel,
uint16_t  offset 
)
constexprnoexcept

Get channel register address.

Parameters
channelChannel number
offsetRegister offset from channel base
Returns
Complete register address

◆ GetDriverVersion()

const char * tle92466ed::GetDriverVersion ( )
inlinenoexcept

Return the compiled driver version string (same as Driver::GetDriverVersion()).

◆ IsValidChannel()

constexpr bool tle92466ed::IsValidChannel ( Channel  ch)
constexprnoexcept

Validate channel number.

◆ ToIndex()

constexpr uint8_t tle92466ed::ToIndex ( Channel  ch)
constexprnoexcept

Convert channel to index.

◆ ToString() [1/5]

const char * tle92466ed::ToString ( Channel  channel)
inlinenoexcept

Convert Channel enum to string.

Parameters
channelChannel
Returns
String representation

◆ ToString() [2/5]

const char * tle92466ed::ToString ( ChannelMode  mode)
inlinenoexcept

Convert ChannelMode enum to string.

Parameters
modeChannel mode
Returns
String representation

◆ ToString() [3/5]

const char * tle92466ed::ToString ( DiagCurrent  current)
inlinenoexcept

Convert DiagCurrent enum to string.

Parameters
currentDiagnostic current
Returns
String representation

◆ ToString() [4/5]

const char * tle92466ed::ToString ( ParallelPair  pair)
inlinenoexcept

Convert ParallelPair enum to string.

Parameters
pairParallel pair
Returns
String representation

◆ ToString() [5/5]

const char * tle92466ed::ToString ( SlewRate  rate)
inlinenoexcept

Convert SlewRate enum to string.

Parameters
rateSlew rate
Returns
String representation

◆ VerifyFrameCrc()

bool tle92466ed::VerifyFrameCrc ( const tle92466ed::SPIFrame &  frame)
inlinenoexcept

Verify CRC in received frame.

Parameters
frameReceived SPI frame
Returns
true if CRC is valid