Files

53 lines
2.3 KiB
Markdown
Executable File

# 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
time/position motion, SMV8 position memory, Hall feedback and ADC
current-diagnostic code.
`Passenger_Seat_Timed_Controller_demo/` is the separately buildable
passenger-seat variant. Its CAN application exposes four-axis timed movement
only; position, homing, calibration, dynamic-mode and thermal commands are not
linked into the application. See its `Docs/README_Passenger_Seat_Timed_Controller.md`
for the command contract and generated HEX identity (`PST1`).
The matching Cypress 7.9.0 build dependencies are vendored beside it:
```text
firmware/t2g/
├── common/
├── tviibh8m/
├── Seat_Controller_demo/
└── Passenger_Seat_Timed_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
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.