Changelog¶
What changed in each release of the driver. Entries marked BREAKING need source changes in code that used the affected API.
[Unreleased]¶
Added¶
- Host unit tests (
-DHF_TLE92466ED_BUILD_TESTS=ON) against a register model of the TLE92466ED's SPI (frames, CRC-8, reply pipeline, reply widths, fault replies), and a CI workflow that runs them with GCC and Clang.
Changed¶
- Documentation moved to the HardFOC MkDocs platform: new page set (quickstart, hardware, architecture, SPI
protocol, current control, diagnostics, API guide, configuration, porting, testing), code snippets compiled by
the host build from
tests/docs/, Doxygen under/api/, versioned with mike. The Jekyll site files and the doxygen-awesome submodule are gone. - Hardware facts corrected against the datasheet (Rev. 1.2): SPI clock up to 8 MHz (not 10 MHz), VBAT 6 V to 18 V functional (not 5.5 V to 41 V), VDD is a 5 V supply input (not an output), outputs are LOADx with an external freewheeling diode at FWDx.
Fixed¶
- A critical-fault reply frame is now recognised by its reply mode before the CRC check. Its bits 31:24 are don't
care (datasheet 5.2.3.5), so
Read(),ReadMulti()andWrite()could reportCRCErrorinstead ofCommError::BusError/DriverError::FaultDetected. The unusedtransferFrame()path reportsFaultDetectedtoo (wasHardwareError). - BREAKING (behaviour):
GlobalConfig{}defaults are now the configurationInit()writes:crc_enabledandspi_watchdog_enableddefault tofalse(weretrue),vbat_uv_voltage/vbat_ov_voltageto 7 V / 40 V (were 4 V / 41 V). Code that relied on the old defaults to switch on the CRC check or the SPI watchdog must set those fields explicitly.ConfigureGlobal(GlobalConfig{})no longer arms the SPI watchdog by surprise. ConfigureChannel()returnsInvalidParameterforpwm_period_mantissaabove 255 orpwm_period_exponentabove 7 (datasheet 5.3, PERIOD register) instead of truncating them;ConfigurePwmPeriodRaw()rejects an exponent above 7.cmake --installnow installssrc/tle92466ed.ipp, whichtle92466ed.hppincludes, so the installed package builds. Headers install underinclude/hf_tle92466ed/inc/and the exported target ishf::tle92466ed, the same name as the build-tree alias (it washf::hf_tle92466ed, which never built from an install). A CTest check builds afind_package()consumer from a scratch install.- The ESP32 example port holds the bus with
spi_device_acquire_bus()acrossTransferMulti(), so another device on a shared bus cannot take the reply of a pipelined access (datasheet 5.2.3). - Header and example comments give the datasheet SPI limits (5.1.4, Table 18): 8 MHz maximum clock, 600 ns CSN high time between frames, 250 ns CSN lead and lag.
1.0.0 (version in the build settings; not tagged)¶
- TLE92466ED support: Config and Mission Mode, per-channel ICC setpoint, PWM and dither, parallel pairs, averaged and batched current feedback, global and per-channel diagnostics, SPI watchdog, BIST and the ESP32-S3 examples.