Files
Cognitive_Agent/firmware/t2g

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.