Summary
This spec covers RS-232C control of the Knox Video Technologies RS16x16HB, a 16x16 audio/video matrix routing switcher. The device accepts a simple ASCII command protocol terminated by Carriage Return (0x0D, no Line Feed), with four configurable baud rates (1200, 2400, 9600, 19200) at 8N1. Commands support crosspoint routing, salvo routing, deferred TAKE execution, cross-connect, pattern storage and recall, status query, and a timed sequencer.
Transport
protocols:
- serial
serial:
baud_rate: 9600 # default; configurable via rear-panel DIP switch positions 1-2 (9600, 19200, 2400, 1200)
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # source: "No handshaking is required"
auth:
type: UNRESOLVED # source does not state this (was inferred none: no auth procedure in source)
Traits
- routable # inferred from extensive routing command set (B/V/A/E/F/G/X/Y/Z/J/K/L)
- queryable # inferred from D status query command
Actions
- id: route_video_audio
label: Route Video and Audio (Immediate)
kind: action
command: "B{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16; 00 turns off the crosspoint)
- id: route_video_only
label: Route Video Only (Immediate)
kind: action
command: "V{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16; 00 turns off the crosspoint)
- id: route_audio_only
label: Route Audio Only (Immediate)
kind: action
command: "A{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16; 00 turns off the crosspoint)
- id: route_dual_audio_video
label: Route Video and Audio from Different Inputs (Immediate)
kind: action
command: "B{output}{video_input}{audio_input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: video_input
type: integer
description: Video input number (01-16)
- name: audio_input
type: integer
description: Audio input number (01-16)
- id: route_salvo_av
label: Salvo Route Video and Audio Across Output Range
kind: action
command: "X{first_output}{last_output}{input}"
params:
- name: first_output
type: integer
description: First output number in range (01-16)
- name: last_output
type: integer
description: Last output number in range (01-16)
- name: input
type: integer
description: Input number (00-16)
- id: route_salvo_video
label: Salvo Route Video Only Across Output Range
kind: action
command: "Y{first_output}{last_output}{input}"
params:
- name: first_output
type: integer
description: First output number in range (01-16)
- name: last_output
type: integer
description: Last output number in range (01-16)
- name: input
type: integer
description: Input number (00-16)
- id: route_salvo_audio
label: Salvo Route Audio Only Across Output Range
kind: action
command: "Z{first_output}{last_output}{input}"
params:
- name: first_output
type: integer
description: First output number in range (01-16)
- name: last_output
type: integer
description: Last output number in range (01-16)
- name: input
type: integer
description: Input number (00-16)
- id: hold_route_av
label: Hold Route Video and Audio (Pending TAKE)
kind: action
command: "E{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: hold_route_video
label: Hold Route Video Only (Pending TAKE)
kind: action
command: "F{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: hold_route_audio
label: Hold Route Audio Only (Pending TAKE)
kind: action
command: "G{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: take_pending_routes
label: Execute TAKE on Pending Routes
kind: action
command: "EE"
params: []
- id: cross_connect_av
label: Cross-Connect Video and Audio (Teleconference)
kind: action
command: "J{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: cross_connect_av_split
label: Cross-Connect Audio to Different Pair
kind: action
command: "J{output}{video_input}{audio_input}"
params:
- name: output
type: integer
description: Output number (xx)
- name: video_input
type: integer
description: Video input number (yy)
- name: audio_input
type: integer
description: Audio input number (zz)
- id: cross_connect_video
label: Cross-Connect Video Only
kind: action
command: "K{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: cross_connect_audio
label: Cross-Connect Audio Only
kind: action
command: "L{output}{input}"
params:
- name: output
type: integer
description: Output number (01-16)
- name: input
type: integer
description: Input number (01-16)
- id: store_pattern
label: Store Current Crosspoint Pattern
kind: action
command: "S{pattern}"
params:
- name: pattern
type: integer
description: Pattern storage slot (upper bound 16; lower bound UNRESOLVED because the source reads "0l")
- id: recall_pattern
label: Recall Stored Crosspoint Pattern
kind: action
command: "R{pattern}"
params:
- name: pattern
type: integer
description: Pattern storage slot (upper bound 16; lower bound UNRESOLVED because the source reads "0l")
- id: query_status
label: Read Crosspoint Status
kind: query
command: "D"
params: []
- id: start_sequencer
label: Start Timed Sequencer
kind: action
command: "T{interval}"
params:
- name: interval
type: integer
description: Cycle interval in seconds (1-999)
- id: stop_sequencer
label: Stop Timed Sequencer
kind: action
command: "N"
params: []
- id: lamp_test
label: Lamp Test
kind: action
# UNRESOLVED: source describes the lamp test command but the payload is a picture placeholder, not extractable text
params: []
Feedbacks
- id: status_routing_map
type: string
description: In verbose mode, each routing command causes the current routing map to be reported on the RS232 line as a multi-line listing of "OUTPUT {n} Video {in} Audio {in}" rows, followed by the word DONE. The status report does not disturb the existing crosspoint pattern.
- id: ack_done
type: enum
values: [done]
description: In nonverbose mode, only the word DONE is reported after each successful routing command.
- id: ack_error
type: enum
values: [error]
description: In either mode, an incorrect or meaningless command causes the word ERROR to be reported.
Variables
# No continuous variable parameters documented. All routing is by discrete crosspoint command.
Events
# UNRESOLVED: source describes no unsolicited notifications beyond command acknowledgements (DONE / ERROR / routing map).
Macros
# UNRESOLVED: source describes no multi-step macro sequences authored by the user. The TAKE pattern (E/F/G queue then B/V/A final, or EE) is an execution primitive, not a stored macro.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings, interlocks, or power-on sequencing procedures beyond the note that rear DIP switches are only read at power-up (cycling power required for switch changes to take effect).
Notes
- Command terminator is Carriage Return (0x0D). Do not send Line Feed (0x0A).
- Letter case (upper/lower) is accepted for command mnemonics.
- Baud rate is set via rear-panel DIP switch positions 1-2: 19200=ON/ON, 1200=OFF/ON, 2400=ON/OFF, 9600=OFF/OFF. All rates 8N1, no handshaking.
- DIP switch position 3 selects verbose (ON) vs nonverbose (OFF) answerback mode.
- DIP switch position 4 locks out the front panel keypad when ON.
- DIP switch position 5 disables breakaway audio when ON (audio always switches with video).
- DIP switches 6-8 are reserved; must remain OFF.
- Switch changes are read only at power-up; user must cycle power for changes to take effect.
- Input number 00 turns off a crosspoint (e.g., B0100 turns off output 1).
- Routing to input 0 via salvo commands (Xmmnnoo) also turns off the range.
Provenance
source_domains:
- markertek.com
- kipdf.com
- manualslib.com
source_urls:
- https://www.markertek.com/Attachments/Specifications/Knox/RS16X16HB-Specifications.pdf
- https://kipdf.com/rs16x16hb-operation-and-technical-manual-limited-warranty_5b159c817f8b9a17738b4601.html
- https://www.manualslib.com/manual/1518127/Knox-Video-RS16x16HB.html
retrieved_at: 2026-09-12T16:10:20.343Z
last_checked_at: 2026-10-07T10:33:16.119Z
Verification Summary
verdict: verified
checked_at: 2026-10-07T10:33:16.119Z
matched_actions: 21
action_count: 21
confidence: medium
summary: "All 21 action units map one-to-one to source commands (lamp_test matched semantically; source payload is a picture placeholder), and the transport values are supported. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "lamp test command payload not extractable from source (only picture placeholder present)."
- "source describes the lamp test command but the payload is a picture placeholder, not extractable text"
- "source describes no unsolicited notifications beyond command acknowledgements (DONE / ERROR / routing map)."
- "source describes no multi-step macro sequences authored by the user. The TAKE pattern (E/F/G queue then B/V/A final, or EE) is an execution primitive, not a stored macro."
- "source contains no explicit safety warnings, interlocks, or power-on sequencing procedures beyond the note that rear DIP switches are only read at power-up (cycling power required for switch changes to take effect)."
- "lamp test command payload missing from source (picture placeholder only)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0