Hardware Protocol Specification: Serial console (VT100-style CLI), software flow control¶
Version: illustrative
Physical Layer: 9600 bps, 8N1.0
Framing: delimited
Integrity Algorithm: none
📄 AsyncAPI Artifacts: Download AsyncAPI 2.6.0 YAML | View Interactive AsyncAPI HTML Docs
Description¶
Many console/CLI serial ports are wired with only TX/RX/GND -- no RTS/CTS lines exist to carry hardware flow control, so XON/XOFF (software, in-band) is the only option when the far end needs to pace output.
Command Catalog & Message Signatures¶
Category: GENERAL¶
CommandLine (Command ID: 0x00)¶
| Parameter | Type | Unit | Range / Constraints | Options |
|---|---|---|---|---|
text |
string |
- | - | - |
Device-Initiated Messages¶
OutputLine (Message ID: OutputLine)¶
| Field Name | Type | Unit |
|---|---|---|
text |
string |
- |
Formal AsyncAPI 2.6.0 Specification¶
asyncapi: 2.6.0
info:
title: Serial console (VT100-style CLI), software flow control
version: illustrative
description: Many console/CLI serial ports are wired with only TX/RX/GND -- no RTS/CTS
lines exist to carry hardware flow control, so XON/XOFF (software, in-band) is
the only option when the far end needs to pace output.
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: none
channels:
omniuart/cmd/CommandLine:
publish:
summary: 'Send command CommandLine (ID: 0x00)'
description: Dispatch CommandLine frame to microcontroller over serial line
message:
name: CommandLine_Message
title: CommandLine Command
payload:
$ref: '#/components/schemas/CommandLine_Request'
omniuart/telemetry/OutputLine:
subscribe:
summary: 'Unsolicited telemetry message OutputLine (ID: OutputLine)'
description: 'Unsolicited telemetry message from device: OutputLine'
message:
name: OutputLine_Telemetry_Message
title: OutputLine Telemetry
payload:
$ref: '#/components/schemas/OutputLine_Telemetry'
components:
messages: {}
schemas:
CommandLine_Request:
type: object
properties:
command_id:
type: integer
const: 0
description: Opcode ID for CommandLine
text:
type: string
description: Command payload for CommandLine
OutputLine_Telemetry:
type: object
properties:
text:
type: string
description: Device-initiated telemetry payload for OutputLine