Summary
The Kramer VS-808xl is an 8x8 video/audio matrix switcher controlled via RS-232 (with a null-modem adapter) and optionally cascaded via RS-485. It uses Kramer's Protocol 2000 (version 0.48) — a 4-byte binary protocol with a destination/instruction byte, an input byte, an output byte, and a machine-number byte. Default serial settings: 9600 baud, 8 data bits, no parity, 1 stop bit.
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # UNRESOLVED: flow control not stated in source
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred: RESET VIDEO (instr 0) and RESET AUDIO (instr 18) act as power/reset operations
- routable # inferred from SWITCH VIDEO / SWITCH AUDIO instructions
- queryable # inferred from REQUEST STATUS / REQUEST PARAMETER instructions
- levelable # inferred from SET VIDEO/AUDIO PARAMETER and INCREASE/DECREASE instructions
Actions
# Protocol 2000 frame layout (4 bytes), all multi-byte commands follow this template:
# byte 1 = INSTRUCTION (bit 7 = 0 for PC -> switcher, 0..63 instruction code)
# byte 2 = INPUT (bit 7 = 1, low 7 bits = input number or instruction-specific data)
# byte 3 = OUTPUT (bit 7 = 1, low 7 bits = output number or instruction-specific data)
# byte 4 = MACHINE# (bit 7 = 1, OVR in bit 6, machine address in low 5 bits; default 0x81 for single-machine M=1)
# Example: switch input 5 -> output 8 on machine 1 = "01 85 88 81" (verbatim from Table 11)
- id: reset_video
label: Reset Video (Instruction 0)
kind: action
command: "00 80 80 81"
params: []
notes: When the master switcher is reset (e.g. on power-up) the reset code is sent to the PC; sending this code to the switcher resets it to power-down settings.
- id: switch_video
label: Switch Video (Instruction 1)
kind: action
command: "01 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: Video input number (1..8); 0 = disconnect. input_byte = 0x80 + input.
- name: output
type: integer
description: Video output number (1..8); 0 = switch to all outputs. output_byte = 0x80 + output.
- name: machine
type: integer
description: Machine number (default 1). machine_byte = 0x80 + machine.
- id: switch_audio
label: Switch Audio (Instruction 2)
kind: action
command: "02 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: Audio input number (1..8); 0 = disconnect. input_byte = 0x80 + input.
- name: output
type: integer
description: Audio output number (1..8); 0 = switch to all outputs. output_byte = 0x80 + output.
- name: machine
type: integer
description: Machine number (default 1). machine_byte = 0x80 + machine.
- id: store_video_status
label: Store Video Status (Instruction 3)
kind: action
command: "03 {setup_byte} {mode_byte} {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # to store/delete (1..N). setup_byte = 0x80 + setup.
- name: mode
type: integer
description: 0 = store, 1 = delete. mode_byte = 0x80 + mode.
- id: recall_video_status
label: Recall Video Status (Instruction 4)
kind: action
command: "04 {setup_byte} 80 {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # to recall (1..N). setup_byte = 0x80 + setup.
- id: request_video_output_status
label: Request Status of a Video Output (Instruction 5)
kind: query
command: "05 {setup_byte} {output_byte} {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # (0 = present setting). setup_byte = 0x80 + setup.
- name: output
type: integer
description: Output number whose status is requested. output_byte = 0x80 + output.
- id: request_audio_output_status
label: Request Status of an Audio Output (Instruction 6)
kind: query
command: "06 {setup_byte} {output_byte} {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # (0 = present setting). setup_byte = 0x80 + setup.
- name: output
type: integer
description: Output number whose status is requested. output_byte = 0x80 + output.
- id: vis_source
label: VIS Source / Seamless / Delayed Switch (Instruction 7)
kind: action
command: "07 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: Input # (when OUTPUT byte = 6); OR output # (when OUTPUT byte = 7); OR blank period in 25ms steps (when OUTPUT byte = 32); OR 0. input_byte = 0x80 + value.
- name: output
type: integer
description: 0=No VIS, 1=Input #1, 2=External digital sync, 3=External analog sync, 4=Dynamic sync, 5=Inter-machine sync, 6=Input # in INPUT byte, 7=Output # in INPUT byte, 8=User-defined sync, 32=RGBHV seamless switching, 64=Set for delayed switch, 65=Execute delayed switch, 66=Cancel delayed switch. output_byte = 0x80 + value.
notes: For 350ms seamless blanking send "07 8E A0 81". For delayed switch see Note 18.
- id: breakaway_setting
label: Breakaway Setting (Instruction 8)
kind: action
command: "08 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: 0 = audio breakaway/follow; 1 = follow/normal mode. input_byte = 0x80 + value.
- name: output
type: integer
description: When INPUT=0 - 0=audio-follow-video, 1=audio breakaway. When INPUT=1 - 0=FOLLOW mode, 1=Normal mode. output_byte = 0x80 + value.
- id: video_audio_type_setting
label: Video / Audio Type Setting (Instruction 9)
kind: action
command: "09 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: 0=video, 1=audio, 2=VGA/DVI resolution. input_byte = 0x80 + value.
- name: output
type: integer
description: For video INPUT=0 - 0=CV,1=YC,2=YUV,3=RGBS,4=SDI,5=CV+YC,6=VGA scaler,7=DVI. For audio INPUT=1 - bitfield O0 unbalanced/balanced, O1 digital/analog, O4..O2 channel mode. For VGA/DVI INPUT=2 - 1=640x480, 2=800x600, 3=1024x768. output_byte = 0x80 + value.
- id: request_vis_setting
label: Request VIS Setting (Instruction 10)
kind: query
command: "0A {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: SETUP # (or 126/127 to probe if function is supported). input_byte = 0x80 + value.
- name: output
type: integer
description: 0=VIS source, 1=input#/output# of source, 2=vertical sync freq in Hz. output_byte = 0x80 + value.
- id: request_breakaway_setting
label: Request Breakaway Setting (Instruction 11)
kind: query
command: "0B {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: SETUP # (or 126/127 to probe). input_byte = 0x80 + value.
- name: output
type: integer
description: 0=request audio breakaway setting, 1=request FOLLOW setting. output_byte = 0x80 + value.
- id: request_video_audio_type_setting
label: Request Video / Audio Type Setting (Instruction 12)
kind: query
command: "0C {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: SETUP # (or 126/127 to probe). input_byte = 0x80 + value.
- name: output
type: integer
description: 0=video, 1=audio, 2=VGA. output_byte = 0x80 + value.
- id: set_highest_machine_address
label: Set Highest Machine Address (Instruction 13)
kind: action
command: "0D {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: 0=video, 1=audio. input_byte = 0x80 + value.
- name: output
type: integer
description: Highest machine address. output_byte = 0x80 + address.
- id: request_highest_machine_address
label: Request Highest Machine Address (Instruction 14)
kind: query
command: "0E {input_byte} 80 {machine_byte}"
params:
- name: input
type: integer
description: 0=video, 1=audio. input_byte = 0x80 + value.
- id: request_setup_or_input_valid
label: Request Whether Setup Is Defined / Valid Input Is Detected (Instruction 15)
kind: query
command: "0F {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: SETUP # or Input #. input_byte = 0x80 + value.
- name: output
type: integer
description: 0=check if setup is defined, 1=check if input is valid. output_byte = 0x80 + value.
- id: error_busy
label: Error / Busy (Instruction 16)
kind: event
command: "10 {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: For invalid/valid input (OUTPUT=4 or 5), this byte = input #. input_byte = 0x80 + value.
- name: output
type: integer
description: 0=error, 1=invalid instruction, 2=out of range, 3=machine busy, 4=invalid input, 5=valid input. output_byte = 0x80 + value.
notes: Sent unsolicited from device when input validity changes (Note 25); e.g. input 3 invalid -> "10 83 84 81", input 7 valid -> "10 87 85 81".
- id: reset_audio
label: Reset Audio (Instruction 18)
kind: action
command: "12 80 80 81"
params: []
- id: store_audio_status
label: Store Audio Status (Instruction 19)
kind: action
command: "13 {setup_byte} {mode_byte} {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # to store/delete. setup_byte = 0x80 + setup.
- name: mode
type: integer
description: 0=store, 1=delete. mode_byte = 0x80 + mode.
- id: recall_audio_status
label: Recall Audio Status (Instruction 20)
kind: action
command: "14 {setup_byte} 80 {machine_byte}"
params:
- name: setup
type: integer
description: SETUP # to recall. setup_byte = 0x80 + setup.
- id: set_video_parameter
label: Set Video Parameter (Instruction 21)
kind: action
command: "15 {input_byte} {value_byte} {machine_byte}"
params:
- name: input
type: integer
description: Input or output number whose video parameter is to be set (0 = all). input_byte = 0x80 + value.
- name: value
type: integer
description: Parameter value (preceded by instruction 43 to specify which parameter). value_byte = 0x80 + value.
notes: Use instruction 43 (Video Parameter Settings) first to specify which video parameter is being set. Use instruction 63 (Extended Data) for values >127.
- id: set_audio_parameter
label: Set Audio Parameter (Instruction 22)
kind: action
command: "16 {input_byte} {value_byte} {machine_byte}"
params:
- name: input
type: integer
description: Input or output number whose audio parameter is to be set (0 = all). input_byte = 0x80 + value.
- name: value
type: integer
description: Parameter value. value_byte = 0x80 + value.
notes: Use instruction 42 (Audio Parameter Settings) first to specify which audio parameter. Use instruction 63 (Extended Data) for values >127. Example - audio gain output 3 to 681dec - "3F 80 85 81" then "16 83 A9 81".
- id: increase_decrease_video_parameter
label: Increase / Decrease Video Parameter (Instruction 23)
kind: action
command: "17 {input_byte} {action_byte} {machine_byte}"
params:
- name: input
type: integer
description: Input or output number (0 = all). input_byte = 0x80 + value.
- name: action
type: integer
description: 0=inc gain, 1=dec gain, 2=inc contrast, 3=dec contrast, 4=inc brightness, 5=dec brightness, 6=inc colour, 7=dec colour, 8=inc hue, 9=dec hue, 16=inc H-phase, 17=dec H-phase, 18=inc V-position, 19=dec V-position. action_byte = 0x80 + value.
- id: increase_decrease_audio_parameter
label: Increase / Decrease Audio Parameter (Instruction 24)
kind: action
command: "18 {input_byte} {action_byte} {machine_byte}"
params:
- name: input
type: integer
description: Input or output number (0 = all). input_byte = 0x80 + value.
- name: action
type: integer
description: 0=inc output, 1=dec output, 2=inc left output, 3=dec left output, 4=inc right output, 5=dec right output, 6=inc input, 7=dec input, 8=inc left input, 9=dec left input, 10=inc right input, 11=dec right input. action_byte = 0x80 + value.
- id: request_audio_parameter
label: Request Audio Parameter (Instruction 25)
kind: query
command: "19 {input_byte} 80 {machine_byte}"
params:
- name: input
type: integer
description: Input or output number whose audio parameter is requested. input_byte = 0x80 + value.
notes: Use instruction 42 first to specify which audio parameter. Example - request audio gain of right input 9 - "2A 84 80 81" then "19 89 81 81".
- id: request_video_parameter
label: Request Video Parameter (Instruction 26)
kind: query
command: "1A {input_byte} 80 {machine_byte}"
params:
- name: input
type: integer
description: Input or output number whose video parameter is requested. input_byte = 0x80 + value.
notes: Use instruction 43 first to specify which video parameter.
- id: lock_front_panel
label: Lock Front Panel (Instruction 30)
kind: action
command: "1E {state_byte} 80 {machine_byte}"
params:
- name: state
type: integer
description: 0=panel unlocked, 1=panel locked. state_byte = 0x80 + state.
- id: request_panel_locked
label: Request Whether Panel Is Locked (Instruction 31)
kind: query
command: "1F 80 80 {machine_byte}"
params: []
notes: Reply OUTPUT byte = 0 if panel unlocked, 1 if locked.
- id: direct_memory_save
label: Direct Memory Save (Instruction 40)
kind: action
command: "28 {address_byte} {data_byte} {machine_byte}"
params:
- name: address
type: integer
description: EEPROM memory address. address_byte = 0x80 + address.
- name: data
type: integer
description: Data to store. data_byte = 0x80 + data.
notes: Requires understanding of the machine's memory map and structure.
- id: audio_parameter_settings
label: Audio Parameter Settings for Instructions 22/24/25 (Instruction 42)
kind: action
command: "2A {input_byte} {param_byte} {machine_byte}"
params:
- name: input
type: integer
description: Bitfield - I0=0 input/I0=1 output, I1=Left, I2=Right. input_byte = 0x80 + bitfield.
- name: param
type: integer
description: 0=Gain, 1=Bass, 2=Treble, 3=Midrange, 4=Mix On. param_byte = 0x80 + value.
- id: video_parameter_settings
label: Video Parameter Settings for Instructions 21/23/26 (Instruction 43)
kind: action
command: "2B {target_byte} {param_byte} {machine_byte}"
params:
- name: target
type: integer
description: 1=Input, 2=Output. target_byte = 0x80 + value.
- name: param
type: integer
description: 0=video gain, 1=contrast, 2=brightness, 3=colour, 4=hue, 5=H-phase, 6=V-position. param_byte = 0x80 + value.
- id: media_control
label: Media Control (Instruction 44)
kind: action
command: "2C {switch_byte} {data_byte} {machine_byte}"
params:
- name: switch_number
type: integer
description: Switch number. switch_byte = 0x80 + value.
- name: data
type: integer
description: Switch data. data_byte = 0x80 + value.
- id: request_media_control_settings
label: Request Media Control Settings (Instruction 45)
kind: query
command: "2D {switch_byte} 80 {machine_byte}"
params:
- name: switch_number
type: integer
description: Switch number. switch_byte = 0x80 + value.
- id: change_to_ascii
label: Change to ASCII (Instruction 56)
kind: action
command: "38 80 {protocol_byte} {machine_byte}"
params:
- name: protocol
type: integer
description: 1=SVS protocol, 2=Generic protocol. protocol_byte = 0x80 + value.
notes: After this command the unit responds to the ASCII command set. Send the corresponding ASCII command to return to HEX (Protocol 2000).
- id: set_auto_save
label: Set Auto-Save (Instruction 57)
kind: action
command: "39 {mode_byte} 80 {machine_byte}"
params:
- name: mode
type: integer
description: Bitfield - I3=no save, I4=auto-save. mode_byte = 0x80 + bitfield.
notes: Auto-save is automatically re-enabled on each power-up.
- id: execute_loaded_data
label: Execute Loaded Data (Instruction 58)
kind: action
command: "3A {setup_byte} {mode_byte} {machine_byte}"
params:
- name: setup
type: integer
description: 0 or SETUP #. setup_byte = 0x80 + value.
- name: mode
type: integer
description: 1=Take, 2=Cancel. mode_byte = 0x80 + value.
notes: Used in conjunction with instructions 59/60 to execute data previously loaded for the crosspoint switcher.
- id: load_video_data
label: Load Video Data (Instruction 59)
kind: action
command: "3B {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: Video input (0=disconnect, 127=load SETUP#). input_byte = 0x80 + value.
- name: output
type: integer
description: Video output (0=all outputs) or SETUP#. output_byte = 0x80 + value.
notes: Lines data up for execution; use instruction 58 to execute. If INPUT=127, OUTPUT contains SETUP # to load.
- id: load_audio_data
label: Load Audio Data (Instruction 60)
kind: action
command: "3C {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: Audio input (0=disconnect, 127=load SETUP#). input_byte = 0x80 + value.
- name: output
type: integer
description: Audio output (0=all outputs) or SETUP#. output_byte = 0x80 + value.
- id: identify_machine
label: Identify Machine (Instruction 61)
kind: query
command: "3D {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: 1=video machine name, 2=audio machine name, 3=video software version, 4=audio software version, 5=RS422 controller name, 6=RS422 controller version, 7=remote control name, 8=remote software version, 9=Protocol 2000 revision. input_byte = 0x80 + value.
- name: output
type: integer
description: 0=request first 4 digits, 1=request first suffix, 2=second suffix, 3=third suffix, 10=first prefix, 11=second prefix, 12=third prefix. output_byte = 0x80 + value.
- id: define_machine
label: Define Machine (Instruction 62)
kind: query
command: "3E {input_byte} {output_byte} {machine_byte}"
params:
- name: input
type: integer
description: 1=number of inputs, 2=number of outputs, 3=number of setups. input_byte = 0x80 + value.
- name: output
type: integer
description: 1=video, 2=audio, 3=SDI, 4=remote panel, 5=RS-422 controller. output_byte = 0x80 + value.
- id: extended_data
label: Extended Data (Instruction 63)
kind: action
command: "3F {input_msb_byte} {output_msb_byte} {machine_byte}"
params:
- name: input_msb
type: integer
description: 7 MSBs of INPUT data for next instruction. input_msb_byte = 0x80 + value.
- name: output_msb
type: integer
description: 7 MSBs of OUTPUT data for next instruction. output_msb_byte = 0x80 + value.
notes: Sent immediately before the instruction needing >7-bit values. Example - set audio gain output 6 to 10013dec - "3F 80 CE 81" then "16 86 9D 81".
Feedbacks
- id: switch_acknowledgement
type: bytes
description: When a valid command is received, the switcher echoes the same 4 bytes back with bit 7 of the 1st byte set (DESTINATION = 1, switcher -> PC). E.g. send "01 85 88 83" (switch in 5 -> out 8, machine 3), switcher replies "41 85 88 83".
- id: front_panel_change_notification
type: bytes
description: When a switch is performed via the front panel (e.g. input 1 -> output 7 on machine 3), the switcher sends the corresponding bytes with DESTINATION=1, e.g. "41 81 87 83".
- id: video_input_validity
type: enum
values: [invalid, valid]
description: Per Note 25, when input validity changes the unit sends instruction 16 unsolicited (e.g. "10 83 84 81" = input 3 invalid; "10 87 85 81" = input 7 valid).
- id: error_response
type: enum
values: [error, invalid_instruction, out_of_range, machine_busy, invalid_input, valid_input]
description: Reply from instruction 16 (Error/Busy) when invalid instruction sent, parameter out of range, or RS-232 instruction sent while front-panel programming is active.
- id: setup_defined
type: enum
values: [defined, undefined]
description: Reply to instruction 15 - OUTPUT byte = 1 if setup is defined / input is valid, 0 if undefined / no valid input.
- id: panel_lock_state
type: enum
values: [unlocked, locked]
description: Reply to instruction 31 - OUTPUT byte = 0 if unlocked, 1 if locked.
- id: vertical_sync_frequency
type: integer
description: Reply to instruction 10 with OUTPUT=2 - 0=no input sync, 50=PAL, 60=NTSC, 127=error.
Variables
# All settable parameters are exposed via the parameterized actions above
# (set_video_parameter, set_audio_parameter, etc.) with the parameter selector
# pre-loaded via instructions 42/43. The source does not enumerate the value
# range for each parameter.
# UNRESOLVED: per-parameter value ranges (e.g. min/max gain, contrast, brightness) not stated in source.
Events
- id: power_on_reset
description: When the master switcher is powered on (or reset), it sends the reset code (instruction 0) to the PC. See Note 1.
- id: front_panel_action
description: Any front-panel keystroke that performs a Protocol-2000 instruction is echoed to the PC with DESTINATION=1 (see Note 2).
- id: input_validity_change
description: Per Note 25, the unit sends instruction 16 (Error/Busy with OUTPUT=4 or 5) whenever an input's validity changes in real-time.
Macros
- id: delayed_switch_sequence
description: |
Schedule a delayed crosspoint change (Note 18).
1. Send instruction 7 with OUTPUT=64 (set for delayed switch), e.g. "07 80 C0 81".
2. Send the switch command (instruction 1), e.g. "01 84 83 81" (in 4 -> out 3).
3. After the desired delay, send instruction 7 with OUTPUT=65 (execute delayed switch), e.g. "07 80 C1 81".
The delayed-switch mode is automatically cancelled after execution.
- id: load_then_execute
description: |
Pre-load crosspoint data then commit (Note 22).
1. Send instruction 59 (Load Video Data) and/or 60 (Load Audio Data) one or more times.
2. Send instruction 58 (Execute Loaded Data) with OUTPUT=1 (Take) to commit, or OUTPUT=2 (Cancel) to abort.
- id: extended_value_set
description: |
Set a parameter with a value greater than 127 (Note 20).
1. Send instruction 63 (Extended Data) with the 7 MSBs of INPUT and OUTPUT.
2. Send the target instruction (e.g. 22 Set Audio Parameter) with the 7 LSBs.
Example - set audio gain output 6 to 10013dec - "3F 80 CE 81" then "16 86 9D 81".
- id: select_audio_parameter_then_act
description: |
Operating on a specific audio parameter (gain/bass/treble/etc.) requires instruction 42 to be sent first as a selector, then the target instruction (22 set, 24 inc/dec, 25 request). See Note 24.
- id: select_video_parameter_then_act
description: |
Same pattern as above using instruction 43 to select the video parameter before instructions 21/23/26.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or power-on sequencing requirements specific to control protocol use.
Notes
The VS-808xl uses Kramer's binary Protocol 2000 (revision 0.48). Important operational details from the source:
- Wiring: A null-modem adapter is shipped with the unit and is the recommended RS-232 connection method. The non-null-modem pinout is documented (PC PIN 2 ↔ unit PIN 3, PC PIN 3 ↔ unit PIN 2, PC PIN 4 ↔ unit PIN 6, PIN 5 ↔ PIN 5 ground, PINS 1/7/8 tied together on the unit side).
- DIP switches: DIPs 1-3 set the machine address (1..8). DIP 4 enables RS-485 line termination. DIP 5 enables/disables replies from the switcher to PC. DIPs 6-7 are reserved (OFF). DIP 8 selects RS-232 (ON) vs RS-485 (OFF) for PC communication. Up to 8 units can be cascaded with one Master (Self Address = 1) and the rest as slaves.
- Machine addressing: For a single unit, set DIPs for machine number 1 and use 0x81 as the 4th byte. Setting the OVR bit (bit 6 of byte 4) makes all machines accept the command, with only the addressed machine replying.
- ASCII fallback: Instruction 56 switches the unit into an ASCII protocol mode (SVS or Generic). To return to binary, send the equivalent ASCII command (not documented in this excerpt).
- Note coverage: All Protocol-2000 notes 1-25 from the source are referenced in the relevant action entries above.
Provenance
source_domains:
- k.kramerav.com
source_urls:
- https://k.kramerav.com/downloads/manuals/VS-808xl.pdf
retrieved_at: 2026-04-30T04:24:16.769Z
last_checked_at: 2026-06-02T17:22:45.840Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:22:45.840Z
matched_actions: 41
action_count: 41
confidence: medium
summary: "All 41 spec actions match instruction codes 0–63 in Table 10; transport parameters (9600 baud, 8 bits, no parity, 1 stop) confirmed. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "flow control not stated in source"
- "per-parameter value ranges (e.g. min/max gain, contrast, brightness) not stated in source."
- "source contains no safety warnings, interlock procedures, or power-on sequencing requirements specific to control protocol use."
- "device firmware version compatibility (only Protocol 2000 v0.48 stated)."
- "per-parameter value ranges (gain min/max, contrast range, etc.)."
- "ASCII protocol command set (SVS/Generic) referenced by instruction 56 but not defined in this excerpt."
- "detailed memory map referenced by instruction 40 (Direct Memory Save)."
- "RS-485 wiring/termination electrical specifics (section 6.1.2 referenced but not in this excerpt)."
- "RS-232 connector port number / serial port speed alternatives (only default 9600 baud documented)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0