ASC CAN log format¶
Text log format used in Vector-style CAN logging and widely supported by CAN tools.
| Status | Examples | Runtime example | Source posture |
|---|---|---|---|
field-note |
synthetic/passive |
available |
capture provenance plus atlas/tooling context |
Identity¶
Text log format used in Vector-style CAN logging and widely supported by CAN tools.
What This Protocol Teaches¶
- Text logs are readable until timestamp semantics and channel metadata start to matter.
- It teaches how to inspect timestamp, channel, identifier without mistaking field extraction for meaning.
- It keeps observer inference separate from system truth.
Operational Context¶
ASC-style text records appear in CAN tool ecosystems and are modeled in the atlas at the capture-format layer. The binder treats one line as passive file evidence: timestamp text, channel label, identifier, direction token, DLC, and payload bytes. It does not teach hardware setup, bus-operation behavior, or complete ASC format coverage.
Draft status
field-note: this page has limited runnable support for one-line Classical CAN data
records. It is not a complete ASC parser and is not yet a final-copy binder page.
A Concrete Artifact¶
# synthetic ASC-style line
0.010000 1 123 Rx d 8 00 40 1f 40 1f 00 00 00
Synthetic
Synthetic offline sample for explanation; not a real operational trace or live-system instruction.
Worked Decode¶
- Read the line as one offline ASC-style record, not as an instruction to open a bus interface.
0.010000is file timestamp evidence and1is a channel label, not hardware proof.123 Rx d 8records CAN identifier, observed direction token, data marker, and DLC.- The eight data bytes are capture evidence only until a description source such as DBC names signals.
Field Layout / Anatomy¶
| Element | Observed value | Inspection meaning |
|---|---|---|
| timestamp text | 0.010000 |
File timestamp evidence; not proof of clock truth or freshness. |
| channel label | 1 |
File label; not proof of physical interface identity. |
| direction token | Rx |
Recorded direction marker, not an instruction to act on a bus. |
| identifier | 0x123 |
Recorded CAN-frame identifier. |
| DLC | 8 |
Classical CAN data length for this teaching record. |
| payload | 00 40 1f 40 1f 00 00 00 |
Recorded CAN-frame bytes. |
| semantic authority | external | DBC, PGN/SPN definition, or another source must define signal meaning. |
| timing context | external | File order and timestamps are evidence, not complete freshness authority. |
Visual Model¶
Timing And Authority¶
Timing and authority depend on the log-record role. A file timestamp is evidence from the artifact, not proof of physical bus timing or current machine state. Semantic authority is external: a DBC, PGN/SPN definition, or integration profile is needed before payload bytes become named engineering values.
Semantic authority
Bytes rarely explain themselves. Name the source that defines meaning before naming engineering values: standard metadata, label table, DBC, PGN/SPN definition, object dictionary, register map, DID catalog, LDF, ARXML, channel metadata, or vendor profile.
Failure And Ambiguity¶
- A channel label is file evidence, not hardware proof.
- Direction tokens can reflect logger perspective instead of bus truth.
- Text conversion can preserve bytes while losing capture-provenance detail.
Observer Lesson¶
A passive observer can usually infer artifact boundaries, repeated structure, cadence, missingness, and candidate state transitions. The observer usually cannot prove physical truth, application intent, complete system state, or engineering-unit meaning without semantic authority and timing provenance.
Python Model¶
schoolbus exposes a limited text-record model for one synthetic Classical CAN data
line:
"""Runnable ASC text-record example for the schoolbus binder."""
from schoolbus.formats.capture import AscCanLogRecord
record = AscCanLogRecord.from_line("0.010000 1 123 Rx d 8 00 40 1f 40 1f 00 00 00")
frame = record.to_can_frame()
print(record.show_fields())
print(record.explain())
print(frame.show_fields())
to_can_frame() preserves only recorded CAN-frame fields. Timestamp, channel label,
direction token, and semantic authority remain on the log record.
Local Teaching Notes¶
Simplification
The artifact and diagrams are synthetic teaching material. The page intentionally omits conformance timing tables, electrical design detail, proprietary configuration, and exhaustive standard behavior.
The matching sample pack is samples/capture-description-workbook/. It is a
synthetic passive workbook for file-backed inspection, not an operational capture
procedure.
Source Confidence¶
Source confidence is medium for scope and terminology, with semantic claims limited to public metadata, public source notes, and synthetic teaching artifacts.
Source Notes¶
| Field | Value |
|---|---|
| Governance tier | Field Note |
| Canonical source status | yes |
| Public explainer status | no |
| Open-source tool status | yes |
| Sample-data status | none listed; use synthetic teaching artifacts |
| Confidence | medium |
| Citation specificity | url-level |
| Canonical source(s) | ASC log format context (Vector / tool ecosystems; ASC log format; public-web/tool-doc; metadata-only) |
| Public explainer/tooling source(s) | none listed in atlas |
| Source role | de facto/proprietary format context |
| Open-source tool references | python-can: CAN log inspection context cantools: description-file parsing and signal inspection |
References¶
Public Sources¶
- Vector / tool ecosystems
- ASC log format context — tooling documentation.
- Tooling references
- python-can — CAN log inspection and offline lab context.
- cantools — description-file parsing and signal inspection.