Self-contained T2G seat-controller firmware
Seat_Controller_demo/ is the repository-owned IAR project used by the real
seat-bench executor. It contains the 2026-07-30 heater, ventilation, four-axis
motion, SMV8 position memory, Hall feedback and ADC current-diagnostic code.
The matching Cypress 7.9.0 build dependencies are vendored beside it:
firmware/t2g/
├── common/
├── tviibh8m/
└── Seat_Controller_demo/
This preserves the IAR project's ../../common and ../../tviibh8m paths and
removes any dependency on the original Desktop SDK directory. The applicable
vendor terms are retained in CYPRESS_SDK_LICENSE.txt. An IAR installation is
still a toolchain prerequisite, just as the ZLG driver remains a CAN-adapter
prerequisite; neither is project source data.
Build without flashing:
powershell -ExecutionPolicy Bypass -File .\tools\build_seat_firmware.ps1
Set COGNITIVE_AGENT_IAR_BUILD or pass -IarBuild when iarbuild.exe is not
at a standard location. The script stages the project beside repository-local
vendor junctions, copies the resulting HEX/OUT back, removes build products,
and never opens a debug probe.
The latest firmware uses periodic CAN 0x304/0x305 for motor and thermal
current diagnostics. The backend therefore verifies it passively by observing
0x301 through 0x305, 0x4FA, all four motor IDs and MaxHall
480/374/917/647; it sends no identity request and no actuator frame during
verification.
When real hardware execution is enabled, automatic programming defaults to
enabled and uses IAR/Seat_Controller_program.mac to force outputs safe before
download. A missing protocol signature triggers programming, a boot wait and
passive re-verification before the original request continues. Set
COGNITIVE_AGENT_SEAT_AUTO_FLASH_ENABLED=false to opt out explicitly; dry-run
execution never programs hardware.