Hardware Protocol Specification: DMX512¶
Version: USITT DMX512-A
Physical Layer: 250000 bps, 8N2.0
Framing: binary
Integrity Algorithm: none
📄 AsyncAPI Artifacts: Download AsyncAPI 2.6.0 YAML | View Interactive AsyncAPI HTML Docs
Description¶
Unidirectional lighting-control broadcast. Frame boundary is a UART break condition (an extended low period), not a byte value, not silence, and not an identifier lookup -- none of which this schema's framing styles model precisely.
Command Catalog & Message Signatures¶
Category: GENERAL¶
ChannelFrame (Command ID: 0x00) - Start code (0x00 for standard dimmer data) followed by up to 512 channel values; a receiver simply takes however many bytes arrive before the next break.¶
| Parameter | Type | Unit | Range / Constraints | Options |
|---|---|---|---|---|
startCode |
uint8 |
- | - | - |
channelData |
bytes |
- | - | - |
Formal AsyncAPI 2.6.0 Specification¶
asyncapi: 2.6.0
info:
title: DMX512
version: USITT DMX512-A
description: Unidirectional lighting-control broadcast. Frame boundary is a UART
break condition (an extended low period), not a byte value, not silence, and not
an identifier lookup -- none of which this schema's framing styles model precisely.
servers:
serial_link:
url: serial://tty/250000
protocol: serial
description: Physical UART Transport (250000 bps, 8N2.0)
bindings:
serial:
baudRate: 250000
dataBits: 8
parity: none
stopBits: 2.0
framingType: binary
integrity: none
channels:
omniuart/cmd/ChannelFrame:
publish:
summary: 'Send command ChannelFrame (ID: 0x00)'
description: Start code (0x00 for standard dimmer data) followed by up to 512
channel values; a receiver simply takes however many bytes arrive before the
next break.
message:
name: ChannelFrame_Message
title: ChannelFrame Command
payload:
$ref: '#/components/schemas/ChannelFrame_Request'
components:
messages: {}
schemas:
ChannelFrame_Request:
type: object
properties:
command_id:
type: integer
const: 0
description: Opcode ID for ChannelFrame
startCode:
type: integer
default: 0
channelData:
type: string
contentEncoding: base64
description: Start code (0x00 for standard dimmer data) followed by up to 512
channel values; a receiver simply takes however many bytes arrive before the
next break.