Summary
VISCA-protocol RS-232 control for Cisco PrecisionHD camera family (1080p12x, 1080p4x, 1080p2.5x, Precision 40). Binary packet protocol, codec as host on address 0x81, camera replies on 0x90. Default 9600 8N1 no flow control; speed switchable to 115200.
Transport
protocols:
- serial
serial:
baud_rate: 9600 # default; 115200 also supported via CAM_Speed
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from Power_On / Power_Off commands
- queryable # inferred from inquiry commands
- routable # UNRESOLVED: no input routing commands in source
- levelable # UNRESOLVED: no volume/gain control in source
Actions
# Network and interface
- id: if_clear
label: IF_Clear
kind: action
command: "8x 01 00 01 ff"
params: []
- id: address_set
label: Address_Set
kind: action
command: "8x 30 0p ff"
params:
- name: p
type: integer
description: New address for this device (broadcast x=8 increments p before sending)
- id: command_cancel
label: Command_Cancel
kind: action
command: "8x 2p ff"
params:
- name: p
type: integer
description: Socket ID. Not supported on PrecisionHD 1080p 12x.
# Camera control
- id: power_on
label: Power_On
kind: action
command: "8x 01 04 00 02 ff"
params: []
- id: power_off
label: Power_Off
kind: action
command: "8x 01 04 00 03 ff"
params: []
- id: video_format
label: Video_Format
kind: action
command: "8x 01 35 0p 0q 0r ff"
params:
- name: p
type: integer
description: Reserved
- name: q
type: integer
description: Video mode (see DIP/Video mode table)
- name: r
type: integer
description: Used in PrecisionHD 720p; recyclable
- id: wb_auto
label: WB_Auto
kind: action
command: "8x 01 04 35 00 ff"
params: []
- id: wb_table_manual
label: WB_Table_Manual
kind: action
command: "8x 01 04 35 06 ff"
params: []
- id: wb_table_direct
label: WB_Table_Direct
kind: action
command: "8x 01 04 75 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: WB table index
- id: ae_auto
label: AE_Auto
kind: action
command: "8x 01 04 39 00 ff"
params: []
- id: ae_manual
label: AE_Manual
kind: action
command: "8x 01 04 39 03 ff"
params: []
- id: iris_direct
label: Iris_Direct
kind: action
command: "8x 01 04 4B 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: Iris position 0..50 (requires AE=Manual)
- id: gain_direct
label: Gain_Direct
kind: action
command: "8x 01 04 4c 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: Gain position 12..21 dB (requires AE=Manual)
- id: backlight_on
label: Backlight_On
kind: action
command: "8x 01 04 33 02 ff"
params: []
- id: backlight_off
label: Backlight_Off
kind: action
command: "8x 01 04 33 03 ff"
params: []
- id: mirror_on
label: Mirror_On
kind: action
command: "8x 01 04 61 02 ff"
params: []
- id: mirror_off
label: Mirror_Off
kind: action
command: "8x 01 04 61 03 ff"
params: []
- id: flip_on
label: Flip_On
kind: action
command: "8x 01 04 66 02 ff"
params: []
- id: flip_off
label: Flip_Off
kind: action
command: "8x 01 04 66 03 ff"
params: []
- id: gamma_auto
label: Gamma_Auto
kind: action
command: "8x 01 04 51 02 ff"
params: []
- id: gamma_manual
label: Gamma_Manual
kind: action
command: "8x 01 04 51 03 ff"
params: []
- id: gamma_direct
label: Gamma_Direct
kind: action
command: "8x 01 04 52 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: Gamma table 0..7
- id: mm_detect_on
label: MM_Detect_On
kind: action
command: "8x 01 50 30 01 ff"
params: []
- id: mm_detect_off
label: MM_Detect_Off
kind: action
command: "8x 01 50 30 00 ff"
params: []
- id: call_led_on
label: Call_LED_On
kind: action
command: "8x 01 33 01 01 ff"
params: []
- id: call_led_off
label: Call_LED_Off
kind: action
command: "8x 01 33 01 00 ff"
params: []
- id: call_led_blink
label: Call_LED_Blink
kind: action
command: "8x 01 33 01 02 ff"
params: []
- id: power_led_on
label: Power_LED_On
kind: action
command: "8x 01 33 02 01 ff"
params: []
- id: power_led_off
label: Power_LED_Off
kind: action
command: "8x 01 33 02 00 ff"
params: []
- id: ir_output_on
label: IR_Output_On
kind: action
command: "8x 01 06 08 02 ff"
params: []
- id: ir_output_off
label: IR_Output_Off
kind: action
command: "8x 01 06 08 03 ff"
params: []
- id: ir_camera_control_on
label: IR_CameraControl_On
kind: action
command: "8x 01 06 09 02 ff"
params: []
- id: ir_camera_control_off
label: IR_CameraControl_Off
kind: action
command: "8x 01 06 09 03 ff"
params: []
# PTZF movement
- id: zoom_stop
label: Zoom_Stop
kind: action
command: "8x 01 04 07 00 ff"
params: []
- id: zoom_tele
label: Zoom_Tele
kind: action
command: "8x 01 04 07 2p ff"
params:
- name: p
type: string
description: Speed, hex digit 0..F (a=low, b=high in source; full 0..F range assumed)
- id: zoom_wide
label: Zoom_Wide
kind: action
command: "8x 01 04 07 3p ff"
params:
- name: p
type: string
description: Speed, hex digit 0..F
- id: zoom_direct
label: Zoom_Direct
kind: action
command: "8x 01 04 47 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: Zoom position
- id: zoom_focus_direct
label: ZoomFocus_Direct
kind: action
command: "8x 01 04 47 0p 0q 0r 0s 0t 0u 0v 0w ff"
params:
- name: pqrs
type: integer
description: Zoom position
- name: tuvw
type: integer
description: Focus position
- id: focus_stop
label: Focus_Stop
kind: action
command: "8x 01 04 08 00 ff"
params: []
- id: focus_far
label: Focus_Far
kind: action
command: "8x 01 04 08 2p ff"
params:
- name: p
type: string
description: Speed, hex digit 0..F
- id: focus_near
label: Focus_Near
kind: action
command: "8x 01 04 08 3p ff"
params:
- name: p
type: string
description: Speed, hex digit 0..F
- id: focus_direct
label: Focus_Direct
kind: action
command: "8x 01 04 48 0p 0q 0r 0s ff"
params:
- name: pqrs
type: integer
description: Focus position
- id: focus_auto
label: Focus_Auto
kind: action
command: "8x 01 04 38 02 ff"
params: []
- id: focus_manual
label: Focus_Manual
kind: action
command: "8x 01 04 38 03 ff"
params: []
- id: pt_stop
label: PT_Stop
kind: action
command: "8x 01 06 01 03 03 03 03 ff"
params: []
- id: pt_reset
label: PT_Reset
kind: action
command: "8x 01 06 05 ff"
params: []
- id: pt_up
label: PT_Up
kind: action
command: "8x 01 06 01 0p 0t 03 01 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_down
label: PT_Down
kind: action
command: "8x 01 06 01 0p 0t 03 02 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_left
label: PT_Left
kind: action
command: "8x 01 06 01 0p 0t 01 03 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_right
label: PT_Right
kind: action
command: "8x 01 06 01 0p 0t 02 03 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_up_left
label: PT_UpLeft
kind: action
command: "8x 01 06 01 0p 0t 01 01 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_down_left
label: PT_DownLeft
kind: action
command: "8x 01 06 01 0p 0t 01 02 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_down_right
label: PT_DownRight
kind: action
command: "8x 01 06 01 0p 0t 02 02 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_up_right
label: PT_UpRight
kind: action
command: "8x 01 06 01 0p 0t 02 01 ff"
params:
- name: p
type: string
description: Pan speed, hex digit
- name: t
type: string
description: Tilt speed, hex digit
- id: pt_direct
label: PT_Direct
kind: action
command: "8x 01 06 02 0p 0t 0q 0r 0s 0u 0v 0w 0x 0y ff"
params:
- name: p
type: string
description: Max pan speed, hex digit
- name: t
type: string
description: Max tilt speed, hex digit
- name: qrsu
type: integer
description: Pan position
- name: vwxy
type: integer
description: Tilt position
- id: ptzf_direct
label: PTZF_Direct
kind: action
command: "8x 01 06 20 0p 0q 0r 0s 0t 0u 0v 0w 0x 0y 0z 0g 0h 0i 0j 0k ff"
params:
- name: pqrs
type: integer
description: Pan position
- name: tuvw
type: integer
description: Tilt position
- name: xyzg
type: integer
description: Zoom position
- name: hijk
type: integer
description: Focus position
- id: pt_limit_set
label: PT_Limit_Set
kind: action
command: "8x 01 06 07 00 0x 0p 0q 0r 0s 0t 0u 0v 0w ff"
params:
- name: x
type: integer
description: 1=Up/Right, 0=Down/Left
- name: pqrs
type: integer
description: Pan limit
- name: tuvw
type: integer
description: Tilt limit
- id: pt_limit_clear
label: PT_Limit_Clear
kind: action
command: "8x 01 06 07 01 0x ... ff"
params:
- name: x
type: integer
description: 1=Up/Right, 0=Down/Left
notes: "Sony specifies several filler bytes after 0x; can be ignored."
# Software upload
- id: sw_start
label: SW start
kind: action
command: "8x 01 50 a2 0p 0q 0r 0s 0t 0u 0v 0w ff"
params:
- name: pqrstuvw
type: integer
description: Size, pq=LSB
- id: sw_end
label: SW end
kind: action
command: "8x 01 50 a1 ff"
params: []
- id: sw_abort
label: SW abort
kind: action
command: "8x 01 50 a3 ff"
params: []
- id: sw_packet
label: SW packet
kind: action
command: "8x a0 pp qq rr ss [256 bytes data] ff"
params:
- name: ppqq
type: integer
description: 16-bit packet id, pp=LSB. Starts at 0.
- name: rrss
type: integer
description: 16-bit XModem CRC, rr=LSB
- name: data
type: string
description: 256 bytes raw data; pad last packet with 0x00
- id: cam_pingpong_reset
label: CAM_PingPong_Reset
kind: action
command: "8x ae ff"
params: []
- id: cam_ping
label: CAM_Ping
kind: action
command: "8x af 0p 0q 0r 0s [256 bytes data] ff"
params:
- name: pqrs
type: integer
description: Pingval
- name: data
type: string
description: 256 bytes
- id: cam_stdin
label: CAM_Stdin
kind: action
command: "8x a4 [0-256 bytes stdin] 00 ff"
params:
- name: stdin
type: string
description: 0..256 bytes for the command interpreter
- id: cam_debug_mode
label: CAM_Debug_Mode
kind: action
command: "8x 01 39 0q ff"
params:
- name: q
type: integer
description: 0=off, 1=on
# Other
- id: cam_boot
label: CAM_Boot
kind: action
command: "8x 01 42 ff"
params: []
- id: cam_speed
label: CAM_Speed
kind: action
command: "8x 01 34 0p ff"
params:
- name: p
type: integer
description: 0=9600 baud, 1=115200 baud
# Inquiries
- id: cam_id_inq
label: CAM_ID_Inq
kind: query
command: "8x 09 04 22 ff"
params: []
- id: cam_swid_inq
label: CAM_SWID_Inq
kind: query
command: "8x 09 04 23 ff"
params: []
- id: cam_hwid_inq
label: CAM_HWID_Inq
kind: query
command: "8x 09 04 24 ff"
params: []
- id: zoom_pos_inq
label: Zoom_Pos_Inq
kind: query
command: "8x 09 04 47 ff"
params: []
- id: focus_pos_inq
label: Focus_Pos_Inq
kind: query
command: "8x 09 04 48 ff"
params: []
- id: focus_mode_inq
label: Focus_Mode_Inq
kind: query
command: "8x 09 04 38 ff"
params: []
- id: pan_tilt_pos_inq
label: PanTilt_Pos_Inq
kind: query
command: "8x 09 06 12 ff"
params: []
- id: power_inq
label: Power_Inq
kind: query
command: "8x 09 04 00 ff"
params: []
- id: wb_mode_inq
label: WB_Mode_Inq
kind: query
command: "8x 09 04 35 ff"
params: []
- id: wb_table_inq
label: WB_Table_Inq
kind: query
command: "8x 09 04 75 ff"
params: []
- id: ae_mode_inq
label: AE_Mode_Inq
kind: query
command: "8x 09 04 39 ff"
params: []
- id: backlight_mode_inq
label: Backlight_Mode_Inq
kind: query
command: "8x 09 04 33 ff"
params: []
- id: mirror_inq
label: Mirror_Inq
kind: query
command: "8x 09 04 61 ff"
params: []
- id: flip_inq
label: Flip_Inq
kind: query
command: "8x 09 04 66 ff"
params: []
- id: gamma_mode_inq
label: Gamma_Mode_Inq
kind: query
command: "8x 09 04 51 ff"
params: []
- id: gamma_table_inq
label: Gamma_Table_Inq
kind: query
command: "8x 09 04 52 ff"
params: []
- id: call_led_inq
label: Call_LED_Inq
kind: query
command: "8x 09 01 33 01 ff"
params: []
- id: power_led_inq
label: Power_LED_Inq
kind: query
command: "8x 09 01 33 02 ff"
params: []
- id: video_system_inq
label: Video_System_Inq
kind: query
command: "8x 09 06 23 ff"
params: []
- id: dip_switch_inq
label: DIP_Switch_Inq
kind: query
command: "8x 09 06 24 ff"
params: []
- id: ir_output_inq
label: IR_Output_Inq
kind: query
command: "8x 09 06 08 ff"
params: []
- id: als_rgain_inq
label: ALS_RGain_Inq
kind: query
command: "8x 09 50 50 ff"
params: []
- id: als_bgain_inq
label: ALS_BGain_Inq
kind: query
command: "8x 09 50 51 ff"
params: []
- id: als_ggain_inq
label: ALS_GGain_Inq
kind: query
command: "8x 09 50 52 ff"
params: []
- id: als_wgain_inq
label: ALS_WGain_Inq
kind: query
command: "8x 09 50 53 ff"
params: []
- id: up_side_down_inq
label: Up side down_Inq
kind: query
command: "8x 09 50 70 ff"
params: []
Feedbacks
- id: completion
label: Completion
type: enum
values: [ok]
packet: "90 5Y FF" # Y = socket number; PrecisionHD 1080p Y always 0
- id: error_message_length
label: Error - Message Length
type: flag
packet: "90 6Y 01 FF"
- id: error_syntax
label: Error - Syntax
type: flag
packet: "90 6Y 02 FF"
- id: error_buffer_full
label: Error - Command Buffer Full
type: flag
packet: "90 6Y 03 FF"
- id: error_cancelled
label: Error - Command Cancelled
type: flag
packet: "90 6Y 04 FF"
- id: error_no_socket
label: Error - No Socket
type: flag
packet: "90 6Y 05 FF"
- id: error_not_executable
label: Error - Command Not Executable
type: flag
packet: "90 6Y 41 FF"
- id: power_state
label: Power State
type: enum
values: [on, off]
source: power_inq # p=2: On, p=3: Off
- id: focus_mode
label: Focus Mode
type: enum
values: [auto, manual]
source: focus_mode_inq # p=2: Auto, p=3: Manual
- id: wb_mode
label: WB Mode
type: enum
values: [auto, table_manual]
source: wb_mode_inq # p=0: Auto, p=6: Table manual
- id: ae_mode
label: AE Mode
type: enum
values: [auto, manual]
source: ae_mode_inq # p=0: Auto, p=3: Manual
- id: backlight_mode
label: Backlight Mode
type: enum
values: [on, off, auto]
source: backlight_mode_inq # p=2: On, p=3: Off, p=4: Auto
- id: gamma_mode
label: Gamma Mode
type: enum
values: [auto, manual]
source: gamma_mode_inq
- id: call_led_state
label: Call LED State
type: enum
values: [on, off, blink]
source: call_led_inq
- id: orientation
label: Up side down
type: enum
values: [upright, upside_down]
source: up_side_down_inq
- id: network_change_push
label: Network_Change Push
type: flag
packet: "y0 38 FF" # y = 9 (camera->host)
- id: ir_push
label: IR_Push
type: object
packet: "y0 07 7d 02 gg hh FF"
fields:
- name: gg
description: IR ID
- name: hh
description: keycode
Variables
# UNRESOLVED: no discrete settable parameters beyond action commands; raw positions
# (zoom, focus, pan, tilt) are queryable but are typically treated as actions.
Events
# Push messages are listed under Feedbacks (network_change_push, ir_push).
Macros
# UNRESOLVED: no multi-step sequences described in source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no explicit safety warnings, interlock procedures, or power-on
# sequencing requirements in source. PT_Limit_Set is described as session-only
# (clears on reboot) but that is operational, not safety-critical.
Notes
- Codec (host) sends on address byte 0x81; camera replies on 0x90. Single-camera use typically address 0x81, broadcast 0x88.
- PrecisionHD 1080p supports a single socket only (Y=0 in 0x5Y/0x6Y replies). Command_Cancel should not be used on that model.
- CAM_Speed reply is sent before the baud switch; wait 20 s after OK before sending new commands.
- CAM_Boot resets serial speed back to 9600.
- SW_packet and CAM_PingPong_Reset / CAM_Ping / CAM_Stdin messages must never be routed through Sony cameras (exceed 16 bytes or violate VISCA length).
- PTZF_Direct, CAM_SWID_Inq, SW packet, SW start, SW end, SW abort also exceed 16 bytes and must be placed first in daisy chain.
- Commands marked with
*in source do not apply to PrecisionHD 1080p4x, 1080p2.5x, or Precision 40. - PrecisionHD 720p commands are documented in a separate MXP Reference User Guide for System Integrators.
- Wait 9 s after receiving Network_Change push before full reconfigure.
Provenance
source_domains:
- cisco.com
- manualshelf.com
- tzmc.us
- dekom.com
source_urls:
- https://www.cisco.com/c/dam/en/us/td/docs/telepresence/endpoint/camera/precisionhd/user_guide/precisionhd_1080p-720p_camera_user_guide.pdf
- https://www.manualshelf.com/manual/cisco/telepresence-precisionhd-1080p-12x/user-guide-english.html
- http://tzmc.us/cisco/end_points/edge/precisionhd_1080p-720p_camera_user_guide.pdf
- https://www.cisco.com/c/en/us/support/collaboration-endpoints/telepresence-precisionhd-cameras/products-user-guide-list.html
- https://www.dekom.com/fileadmin/Vidowawi/precisionhd-1080p-720p_camera_user_guide_tc40_04_L01.pdf
retrieved_at: 2026-05-14T15:10:26.520Z
last_checked_at: 2026-06-02T21:41:14.974Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:41:14.974Z
matched_actions: 94
action_count: 94
confidence: medium
summary: "All 94 spec actions have literal matches in source; transport parameters verified; comprehensive coverage of command catalogue. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "per-model applicability of asterisk-marked commands is in the source but not encoded per action."
- "no input routing commands in source"
- "no volume/gain control in source"
- "no discrete settable parameters beyond action commands; raw positions"
- "no multi-step sequences described in source."
- "no explicit safety warnings, interlock procedures, or power-on"
- "firmware version compatibility ranges not stated in source. Per-model applicability of asterisk-marked commands is not encoded per action (one source flag, many models)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0