Summary
Serial API control spec for Christie Roadie 4K projectors. Christie Serial Protocol supports RS-232, RS-422, and TCP communication over Ethernet, with addressing for daisy-chained projectors.
Transport
protocols:
- serial
- tcp
addressing:
port: null # UNRESOLVED: TCP port value not stated; NET+PORT? queries configured port
serial:
baud_rate: 115200
data_bits: null # UNRESOLVED: data bits not stated
parity: null # UNRESOLVED: parity not stated
stop_bits: null # UNRESOLVED: stop bits not stated
flow_control: null # UNRESOLVED: flow control not stated
auth:
type: credentials
login_command: 'UID "{username}" "{password}"'
access_modes:
- no_access
- login_required
- free_access
Traits
- powerable # inferred from PWR commands
- queryable # inferred from query commands
- routable # inferred from CHA and protocol-routing commands
- levelable # inferred from image, lens, and lamp adjustment commands
Actions
- id: set_projector_address
label: Set Projector Address
kind: action
command: "ADR {value}"
params:
- name: value
type: integer
range: [0, 999]
description: Projector address; 65535 is reserved for broadcast
- id: query_projector_address
label: Query Projector Address
kind: query
command: "ADR?"
params: []
- id: set_ambient_light_correction
label: Set Ambient Light Correction
kind: action
command: "ALC {value}"
params:
- name: value
type: integer
range: [-100, 100]
- id: set_auto_power_up
label: Set Auto Power Up
kind: action
command: "APW {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: auto_setup
label: Auto Setup
kind: action
command: "ASU"
params: []
- id: set_rs232_in_baud_rate
label: Set RS-232 In Baud Rate
kind: action
command: "BDR+PRTA {value}"
params:
- name: value
type: integer
enum: [1, 2, 3, 4, 5, 6]
description: "1=2400, 2=9600, 3=19200, 4=38400, 5=57600, 6=115200"
- id: set_rs232_out_baud_rate
label: Set RS-232 Out Baud Rate
kind: action
command: "BDR+PRTB {value}"
params:
- name: value
type: integer
enum: [1, 2, 3, 4, 5, 6]
- id: set_rs422_baud_rate
label: Set RS-422 Baud Rate
kind: action
command: "BDR+PRTC {value}"
params:
- name: value
type: integer
enum: [1, 2, 3, 4, 5, 6]
- id: set_base_gamma_curve
label: Set Base Gamma Curve
kind: action
command: "BGC {value}"
params:
- name: value
type: integer
enum: [0, 2, 3, 4]
- id: list_self_test_suites
label: List Self-Test Suites
kind: query
command: "BST?L"
params: []
- id: execute_self_test_suite
label: Execute Self-Test Suite
kind: action
command: "BST {suite}"
params:
- name: suite
type: integer
enum: [0, 1, 2, 3, 4]
- id: list_self_tests
label: List Self-Tests
kind: query
command: "BST+TEST?L"
params: []
- id: execute_self_test
label: Execute Self-Test
kind: action
command: "BST+TEST {index}"
params:
- name: index
type: integer
range: [0, 10]
- id: select_color_table
label: Select Color Table
kind: action
command: "CCA+SLCT {value}"
params:
- name: value
type: integer
enum: [0, 1, 2, 3]
- id: set_color_temperature
label: Set Color Temperature
kind: action
command: "CCA+CTMP {value}"
params:
- name: value
type: integer
range: [3200, 9300]
- id: set_custom_red_x
label: Set Custom Red X Coordinate
kind: action
command: "CCA+RDCX {value}"
params:
- name: value
type: integer
- id: set_custom_red_y
label: Set Custom Red Y Coordinate
kind: action
command: "CCA+RDCY {value}"
params:
- name: value
type: integer
- id: set_custom_green_x
label: Set Custom Green X Coordinate
kind: action
command: "CCA+GNCX {value}"
params:
- name: value
type: integer
- id: set_custom_green_y
label: Set Custom Green Y Coordinate
kind: action
command: "CCA+GNCY {value}"
params:
- name: value
type: integer
- id: set_custom_blue_x
label: Set Custom Blue X Coordinate
kind: action
command: "CCA+BLCX {value}"
params:
- name: value
type: integer
- id: set_custom_blue_y
label: Set Custom Blue Y Coordinate
kind: action
command: "CCA+BLCY {value}"
params:
- name: value
type: integer
- id: set_custom_white_x
label: Set Custom White X Coordinate
kind: action
command: "CCA+WHCX {value}"
params:
- name: value
type: integer
- id: set_custom_white_y
label: Set Custom White Y Coordinate
kind: action
command: "CCA+WHCY {value}"
params:
- name: value
type: integer
- id: set_green_of_red
label: Set Green of Red
kind: action
command: "CCA+GOFR {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_blue_of_red
label: Set Blue of Red
kind: action
command: "CCA+BOFR {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_red_of_green
label: Set Red of Green
kind: action
command: "CCA+ROFG {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_blue_of_green
label: Set Blue of Green
kind: action
command: "CCA+BOFG {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_red_of_blue
label: Set Red of Blue
kind: action
command: "CCA+ROFB {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_green_of_blue
label: Set Green of Blue
kind: action
command: "CCA+GOFB {value}"
params:
- name: value
type: integer
range: [-1000, 1000]
- id: set_red_of_red
label: Set Red of Red
kind: action
command: "CCA+ROFR {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_green_of_green
label: Set Green of Green
kind: action
command: "CCA+GOFG {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_blue_of_blue
label: Set Blue of Blue
kind: action
command: "CCA+BOFB {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_red_of_white
label: Set Red of White
kind: action
command: "CCA+ROFW {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_green_of_white
label: Set Green of White
kind: action
command: "CCA+GOFW {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_blue_of_white
label: Set Blue of White
kind: action
command: "CCA+BOFW {value}"
params:
- name: value
type: integer
range: [0, 1000]
- id: set_native_red_x
label: Set Native Red X Coordinate
kind: action
command: "CCA+RDPX {value}"
params:
- name: value
type: integer
- id: set_native_red_y
label: Set Native Red Y Coordinate
kind: action
command: "CCA+RDPY {value}"
params:
- name: value
type: integer
- id: set_native_green_x
label: Set Native Green X Coordinate
kind: action
command: "CCA+GNPX {value}"
params:
- name: value
type: integer
- id: set_native_green_y
label: Set Native Green Y Coordinate
kind: action
command: "CCA+GNPY {value}"
params:
- name: value
type: integer
- id: set_native_blue_x
label: Set Native Blue X Coordinate
kind: action
command: "CCA+BLPX {value}"
params:
- name: value
type: integer
- id: set_native_blue_y
label: Set Native Blue Y Coordinate
kind: action
command: "CCA+BLPY {value}"
params:
- name: value
type: integer
- id: set_native_white_x
label: Set Native White X Coordinate
kind: action
command: "CCA+WHPX {value}"
params:
- name: value
type: integer
- id: set_native_white_y
label: Set Native White Y Coordinate
kind: action
command: "CCA+WHPY {value}"
params:
- name: value
type: integer
- id: copy_color_table
label: Copy Color Table
kind: action
command: "CCA+COPY {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: save_color_primaries
label: Save Color Primaries
kind: action
command: "CCA+SAVE"
params: []
- id: reset_color_primaries
label: Reset Color Primaries
kind: action
command: "CCA+RSET"
params: []
- id: list_channels
label: List Channels
kind: query
command: "CHA?L"
params: []
- id: select_channel
label: Select Channel
kind: action
command: "CHA {channel}"
params:
- name: channel
type: integer
enum: [1, 2, 3, 11, 12, 21, 22, 23, 24]
- id: enable_color
label: Enable Color
kind: action
command: "CLE {color}"
params:
- name: color
type: integer
enum: [0, 1, 2, 3, 4, 5, 6]
- id: select_color_space
label: Select Color Space
kind: action
command: "CSP {color_space}"
params:
- name: color_space
type: integer
enum: [0, 1, 2, 3, 4]
- id: factory_defaults
label: Restore Factory Defaults
kind: action
command: "DEF 111"
params: []
- id: set_sharpness
label: Set Sharpness
kind: action
command: "DTL {value}"
params:
- name: value
type: integer
range: [0, 100]
- id: list_black_level_blends
label: List Black Level Blends
kind: query
command: "EBB+SLCT?L"
params: []
- id: select_black_level_blend
label: Select Black Level Blend
kind: action
command: "EBB+SLCT {value}"
params:
- name: value
type: integer
range: [0, 4]
- id: list_edge_blends
label: List Edge Blends
kind: query
command: "EBL+SLCT?L"
params: []
- id: select_edge_blend
label: Select Edge Blend
kind: action
command: "EBL+SLCT {value}"
params:
- name: value
type: integer
range: [0, 4]
- id: set_edid_frame_rate
label: Set EDID Frame Rate
kind: action
command: "EDO {rate}"
params:
- name: rate
type: integer
enum: [24, 25, 30, 48, 50, 60]
- id: set_edid_column_mode
label: Set EDID Column Mode
kind: action
command: "EDO+COLM {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: set_asynchronous_messages
label: Enable Asynchronous Serial Messages
kind: action
command: "EME {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: select_engine_test_pattern
label: Select Engine Test Pattern
kind: action
command: "ETP {index}"
params:
- name: index
type: integer
description: Engine test-pattern index documented by projector
- id: query_all_events
label: Query All Events
kind: query
command: "EVT"
params: []
- id: query_recent_events
label: Query Recent Events
kind: query
command: "EVT {max}"
params:
- name: max
type: integer
description: Maximum number of events
- id: query_events_since
label: Query Events Since Timestamp
kind: query
command: 'EVT "{start_timestamp}"'
params:
- name: start_timestamp
type: string
description: "yyyy-mm-dd hh:mm:ss"
- id: query_events_between
label: Query Events Between Timestamps
kind: query
command: 'EVT "{start_timestamp}" "{end_timestamp}"'
params:
- name: start_timestamp
type: string
- name: end_timestamp
type: string
- id: set_lens_focus
label: Set Lens Focus Position
kind: action
command: "FCS {position}"
params:
- name: position
type: integer
description: Range returned by FCS?m
- id: query_lens_focus_range
label: Query Lens Focus Range
kind: query
command: "FCS?m"
params: []
- id: set_frame_delay
label: Set Frame Delay
kind: action
command: "FRD {delay}"
params:
- name: delay
type: integer
range: [1000, 3000]
description: Thousandths of a frame
- id: query_actual_frame_delay
label: Query Actual Frame Delay
kind: query
command: "FRD+STAT?"
params: []
- id: query_frame_delay_time
label: Query Frame Delay Time
kind: query
command: "FRD+TIME?"
params: []
- id: set_image_freeze
label: Set Image Freeze
kind: action
command: "FRZ {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_gamma_exponent
label: Set Gamma Exponent
kind: action
command: "GAM {exponent}"
params:
- name: exponent
type: integer
range: [1000, 3000]
- id: set_gamma_slope
label: Set Gamma Slope
kind: action
command: "GAM+SLOP {value}"
params:
- name: value
type: integer
range: [1, 100]
- id: set_gamma_black_adjustment
label: Set Gamma Black Adjustment
kind: action
command: "GAM+BLKA {value}"
params:
- name: value
type: integer
range: [1000, 5000]
- id: query_lamp_history
label: Query Lamp History
kind: query
command: "HIS?"
params: []
- id: select_internal_test_pattern
label: Select Internal Test Pattern
kind: action
command: "ITP {index}"
params:
- name: index
type: integer
range: [0, 20]
- id: set_test_pattern_frequency
label: Set Test Pattern Frequency
kind: action
command: "ITP+FREQ {value}"
params:
- name: value
type: integer
range: [24, 60]
- id: set_test_pattern_grey
label: Set Test Pattern Grey Level
kind: action
command: "ITP+GREY {value}"
params:
- name: value
type: integer
range: [0, 4095]
- id: set_test_pattern_ramp_motion
label: Set Test Pattern Ramp Motion
kind: action
command: "ITP+RMPM {speed}"
params:
- name: speed
type: integer
range: [0, 100]
- id: set_test_pattern_ramp_slope
label: Set Test Pattern Ramp Slope
kind: action
command: "ITP+RMPS {slope}"
params:
- name: slope
type: integer
range: [1, 5]
- id: set_test_pattern_ramp_level
label: Set Test Pattern Ramp Level
kind: action
command: "ITP+RMPL {value}"
params:
- name: value
type: integer
range: [0, 4095]
- id: set_test_pattern_grid_pitch
label: Set Test Pattern Grid Pitch
kind: action
command: "ITP+GRDP {pitch}"
params:
- name: pitch
type: integer
range: [2, 127]
- id: set_test_pattern_grid_color
label: Set Test Pattern Grid Color Mode
kind: action
command: "ITP+GRDC {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_test_pattern_grid_motion
label: Set Test Pattern Grid Motion
kind: action
command: "ITP+GRDM {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: calibrate_lens_motors
label: Calibrate Lens Motors
kind: action
command: "LCB 1"
params: []
- id: home_lens_motors
label: Home Lens Motors
kind: action
command: "LCB+HOME"
params: []
- id: set_lens_horizontal_position
label: Set Lens Horizontal Position
kind: action
command: "LHO {position}"
params:
- name: position
type: integer
description: Range returned by LHO?m
- id: query_lens_horizontal_range
label: Query Lens Horizontal Range
kind: query
command: "LHO?m"
params: []
- id: set_lamploc_auto
label: Start or Cancel LampLOC
kind: action
command: "LLM+AUTO {start}"
params:
- name: start
type: integer
enum: [0, 1]
- id: query_lamploc_auto
label: Query LampLOC State
kind: query
command: "LLM+AUTO?"
params: []
- id: calibrate_lamploc_motors
label: Calibrate LampLOC Motors
kind: action
command: "LLM+CALI 1"
params: []
- id: query_lamploc_light
label: Query LampLOC Light Sensor
kind: query
command: "LLM+LGHT?"
params: []
- id: move_lamploc_x
label: Run LampLOC X Motor
kind: action
command: "LLM+MOVX {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: move_lamploc_y
label: Run LampLOC Y Motor
kind: action
command: "LLM+MOVY {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: move_lamploc_z
label: Run LampLOC Z Motor
kind: action
command: "LLM+MOVZ {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: position_lamploc_x
label: Position LampLOC X Motor
kind: action
command: "LLM+MTRX {value}"
params:
- name: value
type: integer
range: [-250, 250]
- id: position_lamploc_y
label: Position LampLOC Y Motor
kind: action
command: "LLM+MTRY {value}"
params:
- name: value
type: integer
range: [-250, 250]
- id: position_lamploc_z
label: Position LampLOC Z Motor
kind: action
command: "LLM+MTRZ {value}"
params:
- name: value
type: integer
range: [-175, 175]
- id: step_lamploc_x
label: Step LampLOC X Motor
kind: action
command: "LLM+RELX {steps}"
params:
- name: steps
type: integer
- id: step_lamploc_y
label: Step LampLOC Y Motor
kind: action
command: "LLM+RELY {steps}"
params:
- name: steps
type: integer
- id: step_lamploc_z
label: Step LampLOC Z Motor
kind: action
command: "LLM+RELZ {steps}"
params:
- name: steps
type: integer
- id: query_lamploc_progress
label: Query LampLOC Progress
kind: query
command: "LLM+STAT?"
params: []
- id: set_lens_position
label: Set All Lens Axes
kind: action
command: "LMV {horizontal} {vertical} {zoom} {focus}"
params:
- name: horizontal
type: integer
- name: vertical
type: integer
- name: zoom
type: integer
- name: focus
type: integer
- id: step_lens_horizontal
label: Step Lens Horizontal Motor
kind: action
command: "LMV+HSTP {steps}"
params:
- name: steps
type: integer
- id: step_lens_vertical
label: Step Lens Vertical Motor
kind: action
command: "LMV+VSTP {steps}"
params:
- name: steps
type: integer
- id: step_lens_focus
label: Step Lens Focus Motor
kind: action
command: "LMV+FSTP {steps}"
params:
- name: steps
type: integer
- id: step_lens_zoom
label: Step Lens Zoom Motor
kind: action
command: "LMV+ZSTP {steps}"
params:
- name: steps
type: integer
- id: run_lens_horizontal
label: Run Lens Horizontal Motor
kind: action
command: "LMV+HRUN {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: run_lens_vertical
label: Run Lens Vertical Motor
kind: action
command: "LMV+VRUN {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: run_lens_focus
label: Run Lens Focus Motor
kind: action
command: "LMV+FRUN {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: run_lens_zoom
label: Run Lens Zoom Motor
kind: action
command: "LMV+ZRUN {value}"
params:
- name: value
type: integer
enum: [-1, 0, 1]
- id: set_video_loop_out
label: Set Video Loop Out
kind: action
command: "LOE {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: register_lamp_change
label: Register Lamp Change
kind: action
command: 'LPC {lamp_type} "{serial_number}" {hours}'
params:
- name: lamp_type
type: integer
- name: serial_number
type: string
- name: hours
type: integer
required: false
- id: list_lamp_types
label: List Lamp Types
kind: query
command: "LPC+TYPE?L"
params: []
- id: set_lamp_life
label: Set Lamp Life Warning
kind: action
command: "LPL {hours}"
params:
- name: hours
type: integer
description: Positive hours; zero disables check
- id: set_lamp_mode
label: Set Lamp Mode
kind: action
command: "LPM {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_lamp_power
label: Set Lamp Power
kind: action
command: "LPP {power}"
params:
- name: power
type: integer
description: Watts; valid range depends on installed lamp
- id: query_lamp_power_range
label: Query Lamp Power Range
kind: query
command: "LPP?m"
params: []
- id: set_lens_vertical_position
label: Set Lens Vertical Position
kind: action
command: "LVO {position}"
params:
- name: position
type: integer
description: Range returned by LVO?m
- id: query_lens_vertical_range
label: Query Lens Vertical Range
kind: query
command: "LVO?m"
params: []
- id: set_network
label: Set Static Network Configuration
kind: action
command: 'NET "{ip}" "{subnet}" "{gateway}"'
params:
- name: ip
type: string
- name: subnet
type: string
- name: gateway
type: string
required: false
- id: set_device_group
label: Set Device Group
kind: action
command: "NET+DGRP {group}"
params:
- name: group
type: string
- id: enable_dhcp
label: Enable DHCP
kind: action
command: "NET+DHCP 1"
params: []
- id: query_ip_address
label: Query IP Address
kind: query
command: "NET+ETH0?"
params: []
- id: query_gateway
label: Query Gateway
kind: query
command: "NET+GATE?"
params: []
- id: set_hostname
label: Set Hostname
kind: action
command: "NET+HOST {name}"
params:
- name: name
type: string
- id: query_mac_address
label: Query MAC Address
kind: query
command: "NET+MAC0?"
params: []
- id: query_tcp_port
label: Query Serial Protocol TCP Port
kind: query
command: "NET+PORT?"
params: []
- id: query_netmask
label: Query Netmask
kind: query
command: "NET+SUB0?"
params: []
- id: set_protocol_routing
label: Set Protocol Routing
kind: action
command: "NTR {value}"
params:
- name: value
type: integer
enum: [0, 1, 2, 3]
- id: query_horizontal_resolution
label: Query Maximum Horizontal Resolution
kind: query
command: "OTR+HRES?"
params: []
- id: query_vertical_resolution
label: Query Maximum Vertical Resolution
kind: query
command: "OTR+VRES?"
params: []
- id: ping
label: Query Projector Information
kind: query
command: "PNG?"
params: []
- id: list_profiles
label: List Profiles
kind: query
command: "PRO?L"
params: []
- id: select_profile
label: Select Profile
kind: action
command: "PRO {value}"
params:
- name: value
type: integer
range: [0, 4]
- id: set_power
label: Set Projector Power
kind: action
command: "PWR {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_electronics_override
label: Set Video Electronics Standby Override
kind: action
command: "PWR+ELEC {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: query_power
label: Query Projector Power
kind: query
command: "PWR?"
params: []
- id: set_rs232_in_access
label: Set RS-232 In Access Level
kind: action
command: "RAL+PRTA {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: set_rs232_out_access
label: Set RS-232 Out Access Level
kind: action
command: "RAL+PRTB {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: set_rs422_access
label: Set RS-422 Access Level
kind: action
command: "RAL+PRTC {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: set_usb_access
label: Set USB Access Level
kind: action
command: "RAL+PUSB {value}"
params:
- name: value
type: integer
enum: [0, 1, 2]
- id: set_shutter
label: Set Shutter
kind: action
command: "SHU {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: query_shutter
label: Query Shutter
kind: query
command: "SHU?"
params: []
- id: set_snmp_trap_ip_1
label: Set SNMP Trap Address 1
kind: action
command: "SNM+TIP1 {ip_address}"
params:
- name: ip_address
type: string
- id: set_snmp_trap_ip_2
label: Set SNMP Trap Address 2
kind: action
command: "SNM+TIP2 {ip_address}"
params:
- name: ip_address
type: string
- id: set_snmp_trap_ip_3
label: Set SNMP Trap Address 3
kind: action
command: "SNM+TIP3 {ip_address}"
params:
- name: ip_address
type: string
- id: set_snmp_password
label: Set SNMP Password
kind: action
command: "SNM+READ {password}"
params:
- name: password
type: string
- id: set_snmp_lamp_trap
label: Set SNMP Lamp State Trap
kind: action
command: "SNM+LAMP {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_snmp_life_trap
label: Set SNMP Lamp Life Trap
kind: action
command: "SNM+LIFE {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_snmp_power_trap
label: Set SNMP Power Trap
kind: action
command: "SNM+POWR {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_snmp_fan_stall_trap
label: Set SNMP Fan Stall Trap
kind: action
command: "SNM+STAL {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_snmp_thermal_trap
label: Set SNMP Thermal Trap
kind: action
command: "SNM+THRM {value}"
params:
- name: value
type: integer
enum: [0, 1]
- id: set_screen_orientation
label: Set Screen Orientation
kind: action
command: "SOR {value}"
params:
- name: value
type: integer
enum: [0, 1, 2, 3]
- id: query_all_status
label: Query All Status Items
kind: query
command: "SST?"
params: []
- id: query_status_group
label: Query Status Group
kind: query
command: "SST+{group}?"
params:
- name: group
type: string
description: Four-letter status group identifier
- id: query_status_item
label: Query Status Item
kind: query
command: "SST+{group}?{index}"
params:
- name: group
type: string
- name: index
type: integer
- id: set_aspect_ratio
label: Set Display Aspect Ratio
kind: action
command: "SZP {value}"
params:
- name: value
type: integer
enum: [0, 1, 2, 3, 4]
- id: set_time
label: Set Local Time
kind: action
command: 'TMD+TIME "{time}"'
params:
- name: time
type: string
description: "hh:mm:ss"
- id: query_time
label: Query Local Time
kind: query
command: "TMD+TIME?"
params: []
- id: set_date
label: Set Local Date
kind: action
command: 'TMD+DATE "{date}"'
params:
- name: date
type: string
description: "YYYY/MM/DD"
- id: login
label: Log In
kind: action
command: 'UID "{username}" "{password}"'
params:
- name: username
type: string
- name: password
type: string
- id: list_warp_maps
label: List Warp Maps
kind: query
command: "WRP+SLCT?"
params: []
- id: select_warp_map
label: Select Warp Map
kind: action
command: "WRP+SLCT {value}"
params:
- name: value
type: integer
range: [0, 4]
- id: set_lens_zoom
label: Set Lens Zoom Position
kind: action
command: "ZOM {position}"
params:
- name: position
type: integer
description: Range returned by ZOM?m
- id: query_lens_zoom_range
label: Query Lens Zoom Range
kind: query
command: "ZOM?m"
params: []
Feedbacks
- id: projector_address
type: integer
response: "ADR!{value}"
- id: self_test_suite_list
type: list
response: 'BST!L{sequence} {available} {index} "{name}"'
terminator: 'BST!L111 "--END--"'
- id: self_test_result
type: structured
response: 'BST!{index} "{result}" "{details}"'
- id: channel_list
type: list
response: 'CHA!L{sequence} {available} {index} "{name}"'
terminator: 'CHA!L111 "--END--"'
- id: event_log
type: list
response: 'EVT!{index} "{timestamp}" "{state}" "{description}"'
terminator: 'EVT!"--END--"'
- id: actual_frame_delay
type: integer
response: "FRD+STAT!{value}"
- id: frame_delay_milliseconds
type: string
response: 'FRD+TIME!"{value}"'
- id: lamp_history
type: list
response: "HIS!{entry_number} {install_date} {serial_number} {lamp_type} {statistics}"
- id: lamp_type_list
type: list
response: 'LPC+TYPE!L{sequence} {available} {index} "{name}"'
terminator: 'LPC+TYPE!L111 "--END--"'
- id: maximum_horizontal_resolution
type: integer
response_value: 4096
- id: maximum_vertical_resolution
type: integer
response_value: 2160
- id: projector_information
type: structured
response_fields:
- type
- software_major
- software_minor
- software_build
- id: power_state
type: enum
response: "PWR!{value}"
values:
"000": standby
"011": warming_up
"001": "on"
"010": cooling_down
- id: shutter_state
type: enum
values:
0: open
1: closed
- id: status_item
type: structured
response: 'SST+{group}!{index} {state} "{value}" "{description}"'
state_values:
"000": ok
"001": warning
"002": error
- id: zoom_range
type: range
response: "ZOM!M{minimum} {maximum}"
Variables
- id: projector_address
type: integer
range: [0, 999]
persistent: true
- id: asynchronous_messages_enabled
type: boolean
values:
0: false
1: true
- id: power_state
type: enum
values:
"000": standby
"011": warming_up
"001": "on"
"010": cooling_down
- id: shutter_state
type: enum
values:
0: open
1: closed
- id: status_condition
type: enum
values:
"000": ok
"001": warning
"002": error
Events
- id: card_detected
message: '65535 00000 FYI01901"Card {slot} detected"'
description: Card detected while video electronics are on
- id: card_removed
message: '65535 00000 FYI01901"Card {slot} removed"'
description: Card removed while video electronics are on
- id: date_changed
message: '65535 00000 FYI00916 "Setting Date to {date}"'
- id: time_changed
message: '65535 00000 FYI00916 "Setting Time to {time}"'
- id: factory_defaults_completed
message: '65535 00000 FYI00919 "All settings have been restored to their factory defaults. Reboot is required to take effect."'
- id: network_configuration_changed
message: '65535 00000 FYI00915"Configured network: IP:{ip} Mask:{mask} Gateway:{gateway}"'
- id: status_ok
message: '65535 00000 FYI00000 "(SST+{group}?{index}) {description} = {value}"'
- id: status_warning
message: '65535 00000 ERR00000"System Warning: (SST+{group}?{index}) {description} = {value}"'
- id: status_error
message: '65535 00000 ERR00000 "System Error: (SST+{group}?{index}) {description} = {value}"'
Macros
# UNRESOLVED: no explicit multi-step control macros documented
Safety
confirmation_required_for:
- factory_defaults
- set_lamp_power
- register_lamp_change
- calibrate_lens_motors
- calibrate_lamploc_motors
interlocks:
- action: execute_self_test_suite
requirement: Do not execute while projector is warming up
- action: execute_self_test
requirement: Do not execute while projector is warming up
- action: factory_defaults
requirement: Projector must be in standby or cooling down
- action: factory_defaults
requirement: AC cycle projector after command for changes to take effect
- action: set_lamp_power
requirement: Projector must be in Constant Power mode
Notes
Default baud rate for each serial port is 115200. Serial ports can require login, allow free operator access, or deny access. NET+PORT? returns Christie Serial Protocol TCP port, whose configurable range is 1024–49151 with exceptions; port 3003 is reserved and cannot be used. RS232-IN and RS232-OUT are always joined. Shutter query may be inaccurate when shutter was moved manually.
Provenance
source_domains:
- christiedigital.com
source_urls:
- https://www.christiedigital.com/globalassets/resources/public/020-101691-02-christie-lit-tech-ref-roadie-4k-serial-api.pdf
- https://www.christiedigital.com/globalassets/resources/public/020-101689-02-christie-lit-tech-ref-roadie-4k-status-system.pdf
- https://www.christiedigital.com/globalassets/resources/public/christie-dlp-xga-sxga-serial-communications.pdf
retrieved_at: 2026-05-14T15:03:16.341Z
last_checked_at: 2026-07-22T00:56:40.769Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T00:56:40.769Z
matched_actions: 165
action_count: 165
confidence: medium
summary: "All 165 spec actions map literally onto the Christie Serial Protocol command reference with matching shapes/ranges and full bidirectional coverage; transport values confirmed. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "exact applicability to Roadie4K45 model name not stated in source text. TCP port is queryable but no configured port value is stated. Serial framing beyond baud rate is not stated."
- "TCP port value not stated; NET+PORT? queries configured port"
- "data bits not stated"
- "parity not stated"
- "stop bits not stated"
- "flow control not stated"
- "no explicit multi-step control macros documented"
- "serial framing, command termination, response timing, checksum behavior, exact TCP port, and complete status-group catalogue are not stated in source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0