dashboard: add passive CAN capture markers

This commit is contained in:
2026-07-26 15:26:42 -06:00
parent ed9611310e
commit 8c2375d402
6 changed files with 227 additions and 56 deletions
+32 -8
View File
@@ -76,13 +76,37 @@ The dashboard uses field-filtered `/api/v1/status` calls:
This keeps the endpoint model simple while reducing payload size, JSON parsing, and UI churn.
## OBD-II / CAN Diagnostics
## Passive CAN Logger
The hidden diagnostics overlay distinguishes raw CAN traffic from parsed
OBD-II coolant responses. It reports request successes and failures, total
raw frames received, the last frame identifier and DLC, TWAI queue depth,
controller error counters, missed or overrun frames, arbitration losses,
and bus errors.
The dashboard runs its 500 kbps TWAI controller in listen-only mode and never
transmits onto the vehicle bus. At 115200 baud it prints changed frames as:
Raw RX activity confirms that the display is receiving CAN frames even when
the vehicle does not return a matching Mode 01 PID 05 coolant response.
CAN,ms,id,format,dlc,b0,b1,b2,b3,b4,b5,b6,b7
During a cold-start warm-up, enter the scan-tool coolant reading periodically:
TEMP,68
TEMP,95
TEMP,140
Generic timestamped markers can be added with `MARK,<label>`. For a stationary
4WD capture, start in 2H and enter each marker only after the corresponding
dashboard indicator has settled:
MARK,2H
MARK,4H
MARK,4LO
MARK,4H
MARK,2H
Wait 10-15 seconds between mode changes. Follow the vehicle owner's manual for
the conditions required to select 4LO, keep the vehicle stationary where
required, and save the complete serial output. The repeated return transitions
help distinguish an actual mode signal from unrelated counters and timers.
Save the serial output, then rank CAN ID/byte candidates with:
python tools/analyze_can_coolant.py can-warmup.log
Verify strong candidates over multiple warm-up captures before using one for
the dashboard gauge.