Capture format and scope
Use compact candump with eight-digit extended IDs, for example (0.000) can0 18ECFF00#200A0002FFCAFE00. Alternatively use CSV with required id,data columns and optional bus,time. Quote a data cell if it contains commas. Every supplied ID is interpreted as hexadecimal and extended. Blank lines are ignored; malformed rows stop the analysis rather than disappearing silently.
Method: declaration, sequence, payload
Broadcast TP.CM control 0x20 announces a BAM. TP.DT contributes one sequence byte and seven data bytes. The announced length must be 9–1,785 bytes and the packet count must equal ceiling(length/7). Sessions are separated by bus and source address; a later announcement closes the previous session.
Missing, duplicate, out-of-range or out-of-order sequences, contradictory announcements and non-FF final padding withhold the payload. Consistent data is trimmed to the announced length, not stripped of every trailing FF byte. Directed transport and unsupported controls are counted separately, not reassembled.
Example and interpretation
The default trace contains one complete 10-byte DM1 payload and a separate 17-byte announcement missing sequence 2. Only the first payload is available for the DM1 decoder. A duplicate observed after apparent completion still invalidates that capture segment until the next announcement.
This is not a bus-conformance test
Input order is preserved; decreasing timestamps are reported, not sorted away. Timing compliance, timeout expiry, error frames, arbitration, logger overruns and electrical faults are outside scope. A missing packet may be a capture gap rather than an ECU fault. Repeated or ambiguous data needs source-trace review or a controlled authorized recapture, never guessed bytes.
Passive capture review only. No connection to equipment, no bus transmission, no safety clearance and no protocol certification. A clean result describes the supplied bytes, not the completeness of the original recording.