Skip to content

OBD-II

This page teaches how OBD-II exposes a narrow regulatory diagnostic view rather than a complete vehicle telemetry model.

Status Examples Runtime example Source posture
draft-core-lab synthetic/passive available standards metadata plus tooling cross-checks

draft-core-lab: This page is not yet promoted to final copy. The synthetic runtime example is available, but the exact service/PID formula still lacks a redistributable claim-level source. The formula below is a project-local teaching profile, not a claim that standards metadata substantiates detailed behavior.

A Concrete Artifact

# synthetic observed OBD-II service 01 PID 0C exchange
observed tester -> vehicle: 01 0c
observed vehicle -> tester: 41 0c 1a f8

Synthetic

Synthetic offline sample for explanation; not a real operational trace or live-system instruction.

Inspection Trap

OBD-II data can feel like whole-vehicle truth because common PIDs have familiar names. The captured exchange is narrower: it shows one regulatory diagnostic view exposed through a service/PID definition and observed through a particular adapter or transport path.

The safer claim is PID-relative. A passive observer can describe the observed service, PID, response shape, raw bytes, and formula result. That does not prove full vehicle state, proprietary ECU state, or freshness outside the observed exchange.

Worked Decode

  1. Service 0x01 is treated as a current-data-shaped byte in this project-local teaching profile.
  2. PID 0x0c is treated as the engine-speed-shaped parameter in that profile.
  3. Response 41 0c has the profile's positive-response shape for service 01, PID 0c.
  4. Raw bytes 1a f8 combine into 0x1af8, decimal 6904.
  5. The project-local teaching formula divides by four, producing 1726 rpm.
  6. The formula is an explicit assumption for this artifact. It is not source authority or a general rule for other bytes.

What The Evidence Supports

The artifact supports a narrow diagnostic claim: under the service 01 PID 0c teaching formula, the observed response bytes render as 1726 rpm. It also supports an observer claim that the capture contains a request-shaped payload and a positive-response-shaped payload for the same service/PID.

This is useful precisely because it is bounded. The page teaches how a familiar value should remain attached to its service, PID, formula, and capture context.

What The Evidence Does Not Support

The artifact does not prove the whole vehicle network state, proprietary ECU signals, regulatory readiness, DTC context, adapter freshness, or physical truth beyond the observed exchange. It does not prove that all engine-speed-like values on the vehicle would agree.

The page does not teach live diagnostic operation, adapter setup, fault clearing, or vehicle interaction procedures.

Field Layout / Anatomy

Element Shape Inspection meaning
Service/mode 1 byte Diagnostic operation class observed in the request.
PID 1 byte or more Parameter selected within the service.
Response service service + 0x40 shape Positive-response evidence paired to the observed request.
Data bytes PID-specific Interpreted only through the service/PID definition.
Formula PID authority Turns raw bytes into a bounded displayed value.
DTC/readiness service-specific context Requires its own service and interpretation boundary.

Visual Model

sequenceDiagram participant Tester as Observed tester participant Vehicle as Observed vehicle Tester->>Vehicle: 01 0C Vehicle-->>Tester: 41 0C 1A F8 Note over Tester,Vehicle: regulatory diagnostic view, not whole vehicle state
packet +8: "Service 0x41" +8: "PID 0x0c" +16: "Data 0x1af8"

Timing And Authority

OBD-II visibility is request/response-shaped. Adapter behavior, transport timing, and repeated observations control freshness evidence. The project-local teaching profile supplies the formula assumption, while the capture supplies timing and pairing evidence. Final-copy promotion requires a redistributable source that supports the detailed claim.

Semantic authority

Applicable OBD-II service/PID definitions are the eventual authority for public diagnostic values. This draft does not claim its metadata-only standard citation proves the exact formula.

Failure And Ambiguity

  • A service/PID formula is not interchangeable with other PIDs or proprietary data.
  • Adapter smoothing, caching, or slow observations can make values stale.
  • A DTC code without readiness, freeze-frame, and service context can be overinterpreted.
  • A positive response does not prove that the value matches every internal ECU estimate or physical measurement.
  • Proprietary diagnostics may expose different values through different authorities.

Python Model

The current package exposes a narrow observed-message model for passive OBD-II service 01 PID 0c inspection:

"""Runnable OBD-II service 01 PID 0C example for the schoolbus binder."""

from schoolbus.protocols.obdii import ObdIiExchange, ObdIiMessage

request = ObdIiMessage.from_hex("request", "01 0c")
response = ObdIiMessage.from_hex("response", "41 0c 1a f8")
exchange = ObdIiExchange(request=request, response=response)

print(request.show_fields())
print(response.show_fields())
print(exchange.observation.show_fields())
print(exchange.explain())

The model decodes one PID teaching formula and keeps the result as captured payload evidence, not whole-vehicle state or proof of physical truth.

Simplification

The exchange is synthetic. The page omits full service tables, DTC encoding, readiness monitors, freeze-frame context, adapter behavior, transport variants, and operational vehicle procedures.

Source Notes

Teaching claim Source role Limit
OBD-II exposes a regulatory diagnostic access view. canonical metadata Not a reproduced SAE/ISO table.
The exact PID formula is a project-local teaching assumption. synthetic teaching artifact Metadata does not substantiate detailed behavior.
Tooling can cross-check OBD-like packet structures. tooling reference Not normative authority for PID definitions.
The service/PID exchange and bytes are synthetic. synthetic teaching artifact Not operational capture evidence or vehicle truth.
The binder keeps diagnostic claims passive. schoolbus governance/source policy Not a live-system procedure.
Field Value
Governance tier Tier 1 Core Lab
Canonical source status yes
Public explainer status no
Open-source tool status yes
Sample-data status none listed; use synthetic teaching artifacts
Confidence medium pending claim-level formula provenance
Citation specificity document-metadata-level

References

Public Sources

Project posture is aggregated in the protocol support policy, source policy, and project charter.