feat: expand 0x210 telemetry layout (state/udc/idc/uaux@5/soc) #2
Reference in New Issue
Block a user
Delete Branch "feat/skudak-448-expanded-0x210-telemetry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Replaces the single
uaux-at-byte-0 broadcast with a 7-byte expanded telemetry frame. Standardizes the layout the VCU has been intermittently consuming.Why
Bench capture on the green car (PCAN, 500 kbit/s) showed two distinct
0x210frames every 100 ms:Both arrive on a 100 ms cadence, ~0.7 ms apart. The downstream VCU (
stm32-hal-vcu) readsmessage.data[0]for uaux — half the time it gets0x85(real 13.3 V), the other half it gets0x00(thestatebyte when OBC is OFF). The 12 V tender's voltage-fault check firesPOLARITY_ERR_VOLT12_TENDER_VOLTAGE_MEASUREMENT_FAULT(0x00EF) whenever the 0V sample lands in the validation window.Root cause: the flashed firmware on the green car contains both AddSend sets active. This PR commits a clean canonical layout to
mainso a single rebuild + reflash eliminates the dual-frame ambiguity.Byte layout
stateudcidcuauxsocMatches the byte table already documented in
CLAUDE.md(untracked locally, will be committed separately).Test plan
make get-deps && make— builds cleanly (only pre-existing pedantic + RWX-segment warnings)0x210, no DLC=8 framesstm32-hal-vcuPR #37 follow-up (Phase 4B) which updates the VCU handler to read uaux from byte 5Compatibility
The downstream VCU handler in
stm32-hal-vcuCore/Src/main.cCHARGER_CAN_ID_OI_OBC_AUXcurrently reads byte 0. After flashing this firmware before updating the VCU, the VCU will seestate(typically 0) at byte 0 and report 0V →0x00EFfaults will increase, not decrease, until the matching VCU update lands. Coordinate the two reflashes.🤖 Generated with Claude Code