Hardware Protocol Specification: SAE J1708¶
Version: J1708
Physical Layer: 9600 bps, 8N1.0
Framing: delimited
Integrity Algorithm: sum8
📄 AsyncAPI Artifacts: Download AsyncAPI 2.6.0 YAML | View Interactive AsyncAPI HTML Docs
Description¶
Heavy-vehicle diagnostic multi-drop bus. Fixed 9600 8N1 -- no parity at all, unlike M-Bus's 8E1 or G460's default -- a third distinct combination across the protocols tried so far.
Command Catalog & Message Signatures¶
Category: GENERAL¶
Message (Command ID: 0x00) - MID implies the message's format/length via an external lookup, much like LIN's identifier -- though here the boundary itself comes from bus silence, not a table (Message/data here has whatever length the specific MID's fields sum to).¶
| Parameter | Type | Unit | Range / Constraints | Options |
|---|---|---|---|---|
mid |
uint8 |
- | - | - |
data |
bytes |
- | - | - |
Formal AsyncAPI 2.6.0 Specification¶
asyncapi: 2.6.0
info:
title: SAE J1708
version: J1708
description: Heavy-vehicle diagnostic multi-drop bus. Fixed 9600 8N1 -- no parity
at all, unlike M-Bus's 8E1 or G460's default -- a third distinct combination across
the protocols tried so far.
servers:
serial_link:
url: serial://tty/9600
protocol: serial
description: Physical UART Transport (9600 bps, 8N1.0)
bindings:
serial:
baudRate: 9600
dataBits: 8
parity: none
stopBits: 1.0
framingType: delimited
integrity: sum8
channels:
omniuart/cmd/Message:
publish:
summary: 'Send command Message (ID: 0x00)'
description: MID implies the message's format/length via an external lookup,
much like LIN's identifier -- though here the boundary itself comes from bus
silence, not a table (Message/data here has whatever length the specific MID's
fields sum to).
message:
name: Message_Message
title: Message Command
payload:
$ref: '#/components/schemas/Message_Request'
components:
messages: {}
schemas:
Message_Request:
type: object
properties:
command_id:
type: integer
const: 0
description: Opcode ID for Message
mid:
type: integer
data:
type: string
contentEncoding: base64
description: MID implies the message's format/length via an external lookup,
much like LIN's identifier -- though here the boundary itself comes from bus
silence, not a table (Message/data here has whatever length the specific MID's
fields sum to).