Merge vehicle-sim work into main #8

Merged
outlandnish merged 5 commits from feat/di-vehicle-sim-mia into main 2026-08-04 11:43:11 -05:00
Owner

Consolidate feat/di-vehicle-sim-mia at its stopping point (vehicle-bus liveness sim, immobilizer WIP, RE notes, push-workflow doc).

Consolidate feat/di-vehicle-sim-mia at its stopping point (vehicle-bus liveness sim, immobilizer WIP, RE notes, push-workflow doc).
Add scripts/di/vehicle_sim.py: transmits the frames the 2020/12603 DIR
monitors so a standalone rear drive unit on the bench clears its MIA
alerts. Membership + validation pinned from firmware RE:
- CANB party-ECU aggregates: espMIA (0x105/145/155/175/185/38D),
  ibstMIA (0x38E/39D), epas3pMIA (0x370/3D1), rcmMIA (0x101/111)
- CANA aggregates: vcfrontMIA (0x221/241/321/3A1/102/3C2/103),
  gtwMIA (0x7FF/528/3ED)
- three checksum schemes: Tesla additive, SAE J1850 CRC-8, AutoSAR E2E-P02

Plus assorted DI/flash tooling WIP: di.py, immobilizer_handshake.py,
can_live(.py + UI), dfu.py, dump_odin.py, flash_scripts/*.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
canDataBusA: 0x3ED/0x528 sent at DLC8 but DIR expects 1/4 (FUN_000b37c8 exact-DLC check). canDataBusB: drop 0x1E5/0x240 (the PMR/DIR board TXes them on CANB; sim copies collided). dasMIA: add 0x389 DAS_status2. Party MIAs (esp/rcm/ibst/epas3p): DIR group2 staleness + PMR->DIR IPC relay throttle need ~100Hz CANB, so default party frames to 5ms (--party-period 0 = real rates). Add --no-party/--only/--exclude bisection flags.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
DI_a230_cmpMIA and DI_a231_ptcMIA (0x36E DI_alertMatrix4 bits 37/38) are
cleared by CAN 0x247 (compressor) and 0x207 (PTC heater) -- DLC8, arrival-only,
bus A / CANA -- bench-confirmed by isolated bisection. These are the frames the
DI firmware actually monitors; ODIN's Model3_ETH.compact.json mislabels 0x247 as
"DAS_autopilotDebug" and omits 0x207, and its CMP_info 0x363 / PTC_info 0x345 are
not in the PMR RX acceptance-filter set (they never cleared the MIAs at any rate).

Full sim now clears both, with das / party / vehicle MIAs and canDataBusA/B all
clear -- no regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Backs up current working state (immobilizer/vehicle_sim WIP, immo_l04) and
docs/private RE notes to the private mirror. Excludes _client_fw, immo_keys.json,
and .env by design.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs(private): remote push workflow + tea tooling for future sessions
Some checks failed
Tests / test (pull_request) Has been cancelled
96976551a6
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
outlandnish/tm3diag!8
No description provided.