Summary
Christie D4K-60 / Mirage 4K projector. Serial (RS-232, RS-422) and TCP/IP (Christie Serial Protocol over Ethernet) control surface. Documents the complete ASCII command set with response formats.
Transport
protocols:
- serial
- tcp
serial:
baud_rate: 115200 # default per source; range 2400-115200 also supported
data_bits: null # UNRESOLVED: data bits not stated in source
parity: null # UNRESOLVED: parity not stated in source
stop_bits: null # UNRESOLVED: stop bits not stated in source
flow_control: null # UNRESOLVED: flow control not stated in source
addressing:
port: null # UNRESOLVED: configurable 1024-49151; default not stated (3003 reserved)
auth:
type: none # inferred: default access level is "Free Access" (RAL value 2)
Traits
traits:
- powerable # PWR command present
- queryable # many ?-suffixed queries
- routable # NTR routes messages between RS232/RS422/Ethernet
Actions
- id: address_set
label: Set Projector Address
kind: action
command: "ADR {value}"
params:
- name: value
type: integer
description: Address 0-999 (65535 = reserved broadcast)
- id: address_query
label: Query Projector Address
kind: query
command: "ADR?"
params: []
- id: ambient_light_correction
label: Ambient Light Correction
kind: action
command: "ALC {value}"
params:
- name: value
type: integer
description: -100 to 100; 0 = none, positive = darker, negative = brighter
- id: auto_power_up
label: Auto Power Up
kind: action
command: "APW {value}"
params:
- name: value
type: integer
description: 0 = disable, 1 = enable
- id: auto_setup
label: Auto Setup
kind: action
command: "ASU"
params: []
- id: baud_rate_port_a
label: Baud Rate (RS232-IN)
kind: action
command: "BDR+PRTA {value}"
params:
- name: value
type: integer
description: "1=2400, 2=9600, 3=19200, 4=38400, 5=57600, 6=115200 (default)"
- id: baud_rate_port_b
label: Baud Rate (RS232-OUT)
kind: action
command: "BDR+PRTB {value}"
params:
- name: value
type: integer
description: "1=2400, 2=9600, 3=19200, 4=38400, 5=57600, 6=115200 (default)"
- id: baud_rate_port_c
label: Baud Rate (RS422)
kind: action
command: "BDR+PRTC {value}"
params:
- name: value
type: integer
description: "1=2400, 2=9600, 3=19200, 4=38400, 5=57600, 6=115200 (default)"
- id: base_gamma_curve
label: Base Gamma Curve
kind: action
command: "BGC {value}"
params:
- name: value
type: integer
description: "0=sRGB (default), 2=Power Law, 3=M-Series, 4=ITU-R BT.709"
- id: self_test_list_suites
label: List Self Test Suites
kind: query
command: "BST?L"
params: []
- id: self_test_run
label: Run Self Test Suite
kind: action
command: "BST {suite}"
params:
- name: suite
type: integer
description: "0=All, 1=Img Proc, 2=Formatter, 3=ABP, 4=Video Path"
- id: self_test_list_tests
label: List Self Tests
kind: query
command: "BST+TEST?L"
params: []
- id: self_test_run_test
label: Run Self Test
kind: action
command: "BST+TEST {index}"
params:
- name: index
type: integer
description: Test index (see source list, indices 0-10)
- id: cca_select_table
label: Color Table Select
kind: action
command: "CCA+SLCT {value}"
params:
- name: value
type: integer
description: "0=Max Drives, 1=Color Temp, 2=HD Video (BT.709), 3=Custom"
- id: cca_color_temp
label: Color Temperature
kind: action
command: "CCA+CTMP {value}"
params:
- name: value
type: integer
description: 3200-9300 (Kelvin)
- id: cca_red_x
label: Custom Color Red X
kind: action
command: "CCA+RDCX {value}"
params:
- name: value
type: integer
description: CIE x * 10000 (e.g. 3350 = x=0.3350)
- id: cca_red_y
label: Custom Color Red Y
kind: action
command: "CCA+RDCY {value}"
params:
- name: value
type: integer
description: CIE y * 10000
- id: cca_green_x
label: Custom Color Green X
kind: action
command: "CCA+GNCX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_green_y
label: Custom Color Green Y
kind: action
command: "CCA+GNCY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_blue_x
label: Custom Color Blue X
kind: action
command: "CCA+BLCX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_blue_y
label: Custom Color Blue Y
kind: action
command: "CCA+BLCY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_white_x
label: Custom Color White X
kind: action
command: "CCA+WHCX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_white_y
label: Custom Color White Y
kind: action
command: "CCA+WHCY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_gofr
label: Saturation Green-of-Red
kind: action
command: "CCA+GOFR {value}"
params: [{name: value, type: integer, description: "-1000 to 1000 (1000 = 100%)"}]
- id: cca_bofr
label: Saturation Blue-of-Red
kind: action
command: "CCA+BOFR {value}"
params: [{name: value, type: integer, description: "-1000 to 1000"}]
- id: cca_rofg
label: Saturation Red-of-Green
kind: action
command: "CCA+ROFG {value}"
params: [{name: value, type: integer, description: "-1000 to 1000"}]
- id: cca_bofg
label: Saturation Blue-of-Green
kind: action
command: "CCA+BOFG {value}"
params: [{name: value, type: integer, description: "-1000 to 1000"}]
- id: cca_rofr
label: Saturation Red-of-Red
kind: action
command: "CCA+ROFR {value}"
params: [{name: value, type: integer, description: "0 to 1000 (1000 = 100%)"}]
- id: cca_gofg
label: Saturation Green-of-Green
kind: action
command: "CCA+GOFG {value}"
params: [{name: value, type: integer, description: "0 to 1000"}]
- id: cca_bofb
label: Saturation Blue-of-Blue
kind: action
command: "CCA+BOFB {value}"
params: [{name: value, type: integer, description: "0 to 1000"}]
- id: cca_rofw
label: Saturation Red-of-White
kind: action
command: "CCA+ROFW {value}"
params: [{name: value, type: integer, description: "0 to 1000"}]
- id: cca_gofw
label: Saturation Green-of-White
kind: action
command: "CCA+GOFW {value}"
params: [{name: value, type: integer, description: "0 to 1000"}]
- id: cca_bofw
label: Saturation Blue-of-White
kind: action
command: "CCA+BOFW {value}"
params: [{name: value, type: integer, description: "0 to 1000"}]
- id: cca_rdpx
label: Native Primary Red X
kind: action
command: "CCA+RDPX {value}"
params: [{name: value, type: integer, description: CIE x * 10000; service user only}]
- id: cca_rdpy
label: Native Primary Red Y
kind: action
command: "CCA+RDPY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_gnpx
label: Native Primary Green X
kind: action
command: "CCA+GNPX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_gnpy
label: Native Primary Green Y
kind: action
command: "CCA+GNPY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_blpx
label: Native Primary Blue X
kind: action
command: "CCA+BLPX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_blpy
label: Native Primary Blue Y
kind: action
command: "CCA+BLPY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_whpx
label: Native Primary White X
kind: action
command: "CCA+WHPX {value}"
params: [{name: value, type: integer, description: CIE x * 10000}]
- id: cca_whpy
label: Native Primary White Y
kind: action
command: "CCA+WHPY {value}"
params: [{name: value, type: integer, description: CIE y * 10000}]
- id: cca_copy
label: Copy Color Table
kind: action
command: "CCA+COPY {value}"
params:
- name: value
type: integer
description: "0=Max, 1=Color Temp, 2=HD Video (BT.709)"
- id: cca_save
label: Save Color Primaries
kind: action
command: "CCA+SAVE"
params: []
- id: cca_reset
label: Reset Color Primaries
kind: action
command: "CCA+RSET"
params: []
- id: channel_list
label: List Available Channels
kind: query
command: "CHA?L"
params: []
- id: channel_select
label: Select Channel
kind: action
command: "CHA {channel}"
params:
- name: channel
type: integer
description: "1-4 (Four-Port), 11-12 (Two-Port), 21-24 (One-Port)"
- id: color_enable
label: Color Enable
kind: action
command: "CLE {color}"
params:
- name: color
type: integer
description: "0=White, 1=Red, 2=Green, 3=Blue, 4=Yellow, 5=Cyan, 6=Magenta"
- id: color_space
label: Color Space Selection
kind: action
command: "CSP {value}"
params:
- name: value
type: integer
description: "0=Auto (default), 1=RGB full, 2=RGB limited, 3=YCbCr BT.709, 4=YCbCr expanded"
- id: factory_defaults
label: Factory Defaults
kind: action
command: "DEF 111"
params: []
notes: "Requires exactly '111'. Only valid in standby or cooling down. Requires AC cycle after."
- id: sharpness
label: Sharpness
kind: action
command: "DTL {value}"
params:
- name: value
type: integer
description: 0-100 (50 = default, higher = sharper)
- id: black_level_blend_list
label: List Black Level Blends
kind: query
command: "EBB+SLCT?L"
params: []
- id: black_level_blend_select
label: Select Black Level Blend
kind: action
command: "EBB+SLCT {value}"
params:
- name: value
type: integer
description: "0=off (default), 1-4=blend index"
- id: edge_blend_list
label: List Edge Blends
kind: query
command: "EBL+SLCT?L"
params: []
- id: edge_blend_select
label: Select Edge Blend
kind: action
command: "EBL+SLCT {value}"
params:
- name: value
type: integer
description: "0=off, 1-4=blend index"
- id: edid_frame_rate
label: EDID Override Frame Rate
kind: action
command: "EDO {rate}"
params:
- name: rate
type: integer
description: "24, 25, 30, 48, 50, 60 (default)"
- id: edid_window
label: EDID Override Window
kind: action
command: "EDO+COLM {value}"
params:
- name: value
type: integer
description: "0=Standard, 1=Two Column, 2=Four Column"
- id: async_messages_enable
label: Enable Async Serial Messages
kind: action
command: "EME {value}"
params:
- name: value
type: integer
description: "0=disable, 1=enable (default)"
- id: engine_test_pattern
label: Engine Test Pattern
kind: action
command: "ETP {index}"
params:
- name: index
type: integer
description: "0=Flat Black, 1-22=patterns, 255=Off (see source for full list of 0-255)"
- id: event_manager
label: Event Manager
kind: query
command: "EVT"
params: []
- id: event_manager_max
label: Event Manager (max count)
kind: query
command: "EVT {max}"
params: [{name: max, type: integer, description: Maximum events to return}]
- id: event_manager_from
label: Event Manager (from timestamp)
kind: query
command: "EVT \"{timestamp}\""
params: [{name: timestamp, type: string, description: "yyyy-mm-dd hh:mm:ss"}]
- id: event_manager_range
label: Event Manager (range)
kind: query
command: "EVT \"{start}\" \"{end}\""
params:
- name: start
type: string
description: "Start timestamp yyyy-mm-dd hh:mm:ss"
- name: end
type: string
description: "End timestamp yyyy-mm-dd hh:mm:ss"
- id: lens_focus
label: Lens Focus Position
kind: action
command: "FCS {position}"
params:
- name: position
type: integer
description: Absolute focus position (range from FCS?m)
- id: lens_focus_range
label: Lens Focus Range
kind: query
command: "FCS?m"
params: []
- id: frame_delay
label: Frame Delay
kind: action
command: "FRD {delay}"
params:
- name: delay
type: integer
description: "1000-3000 (1/1000ths of a frame; 2000 default)"
- id: frame_delay_actual
label: Frame Delay (actual)
kind: query
command: "FRD+STAT?"
params: []
- id: frame_delay_ms
label: Frame Delay (ms string)
kind: query
command: "FRD+TIME?"
params: []
- id: image_freeze
label: Image Freeze
kind: action
command: "FRZ {value}"
params:
- name: value
type: integer
description: "0=disable (default), 1=freeze"
- id: gamma_exponent
label: Gamma Power Law Exponent
kind: action
command: "GAM {exponent}"
params:
- name: exponent
type: integer
description: "1000-3000 (2200 default); requires BGC=Power Law"
- id: gamma_slope
label: Gamma Slope
kind: action
command: "GAM+SLOP {value}"
params: [{name: value, type: integer, description: "1-100 (1 default)"}]
- id: gamma_contrast
label: Gamma BT.1886 Contrast
kind: action
command: "GAM+BLKA {value}"
params: [{name: value, type: integer, description: "1000-5000 (2000 default)"}]
- id: lamp_history
label: Lamp History
kind: query
command: "HIS?"
params: []
- id: internal_test_pattern
label: Internal Test Pattern
kind: action
command: "ITP {index}"
params:
- name: index
type: integer
description: "0=Off, 1=Grid, 2=Grey 16, 3=White, 4=Grey, 5=Black, 6=Checker, 7=17pt, 8=Edge, 9=Color Bars, 10=Multi, 11=RGBW, 12=H Ramp, 13=V Ramp, 14=Diag, 15=Sq Grid, 16=Diag Grid, 17=Prism, 18=Max Act, 19=FLIR, 20=Focus"
- id: test_pattern_frequency
label: Test Pattern Frequency
kind: action
command: "ITP+FREQ {value}"
params: [{name: value, type: integer, description: "24-60 (default)"}]
- id: test_pattern_grey
label: Test Pattern Grey Level
kind: action
command: "ITP+GREY {level}"
params: [{name: level, type: integer, description: "0-4095 (2048 default)"}]
- id: test_pattern_ramp_speed
label: Ramp Speed
kind: action
command: "ITP+RMPM {speed}"
params: [{name: speed, type: integer, description: "0-100 (0 default)"}]
- id: test_pattern_ramp_slope
label: Ramp Slope
kind: action
command: "ITP+RMPS {slope}"
params: [{name: slope, type: integer, description: "1-5 (1 default)"}]
- id: test_pattern_ramp_level
label: Ramp Start Level
kind: action
command: "ITP+RMPL {level}"
params: [{name: level, type: integer, description: "0-4095 (0 default)"}]
- id: test_pattern_grid_pitch
label: Grid Pitch
kind: action
command: "ITP+GRDP {pitch}"
params: [{name: pitch, type: integer, description: "2-127 (32 default)"}]
- id: test_pattern_grid_color
label: Grid Color Mode
kind: action
command: "ITP+GRDC {value}"
params: [{name: value, type: integer, description: "0=White-on-black, 1=Multi-color (default)"}]
- id: test_pattern_grid_motion
label: Grid Motion
kind: action
command: "ITP+GRDM {value}"
params: [{name: value, type: integer, description: "0=Static (default), 1=Moving"}]
- id: lens_motor_calibrate
label: Lens Motor Calibration
kind: action
command: "LCB 1"
params: []
- id: lens_motor_home
label: Lens Motor Home
kind: action
command: "LCB+HOME"
params: []
- id: lens_horizontal
label: Lens Horizontal Position
kind: action
command: "LHO {position}"
params: [{name: position, type: integer, description: Absolute horizontal position (range from LHO?m)}]
- id: lens_horizontal_range
label: Lens Horizontal Range
kind: query
command: "LHO?m"
params: []
- id: lamploc_auto
label: LampLOC Start/Cancel
kind: action
command: "LLM+AUTO {start}"
params: [{name: start, type: integer, description: "0=cancel, 1=start"}]
- id: lamploc_calibrate
label: LampLOC Calibrate
kind: action
command: "LLM+CALI 1"
params: []
- id: lamploc_light
label: LampLOC Light Sensor
kind: query
command: "LLM+LGHT?"
params: []
- id: lamploc_movx
label: LampLOC Move X
kind: action
command: "LLM+MOVX {value}"
params: [{name: value, type: integer, description: "-1=neg, 0=stop, 1=pos"}]
- id: lamploc_movy
label: LampLOC Move Y
kind: action
command: "LLM+MOVY {value}"
params: [{name: value, type: integer, description: "-1=neg, 0=stop, 1=pos"}]
- id: lamploc_movz
label: LampLOC Move Z
kind: action
command: "LLM+MOVZ {value}"
params: [{name: value, type: integer, description: "-1=neg, 0=stop, 1=pos"}]
- id: lamploc_mtrx
label: LampLOC Move X To Position
kind: action
command: "LLM+MTRX {value}"
params: [{name: value, type: integer, description: "-250 to 250"}]
- id: lamploc_mtry
label: LampLOC Move Y To Position
kind: action
command: "LLM+MTRY {value}"
params: [{name: value, type: integer, description: "-250 to 250"}]
- id: lamploc_mtrz
label: LampLOC Move Z To Position
kind: action
command: "LLM+MTRZ {value}"
params: [{name: value, type: integer, description: "-175 to 175"}]
- id: lamploc_relx
label: LampLOC Relative X
kind: action
command: "LLM+RELX {steps}"
params: [{name: steps, type: integer, description: Signed steps"}]
- id: lamploc_rely
label: LampLOC Relative Y
kind: action
command: "LLM+RELY {steps}"
params: [{name: steps, type: integer, description: Signed steps"}]
- id: lamploc_relz
label: LampLOC Relative Z
kind: action
command: "LLM+RELZ {steps}"
params: [{name: steps, type: integer, description: Signed steps"}]
- id: lamploc_status
label: LampLOC Progress
kind: query
command: "LLM+STAT?"
params: []
- id: lens_move_absolute
label: Lens Move Absolute
kind: action
command: "LMV {h} {v} {z} {f}"
params:
- name: h
type: integer
description: Horizontal position
- name: v
type: integer
description: Vertical position
- name: z
type: integer
description: Zoom position
- name: f
type: integer
description: Focus position
- id: lens_h_steps
label: Lens Horizontal Steps
kind: action
command: "LMV+HSTP {steps}"
params: [{name: steps, type: integer, description: "Negative=down, positive=up"}]
- id: lens_v_steps
label: Lens Vertical Steps
kind: action
command: "LMV+VSTP {steps}"
params: [{name: steps, type: integer, description: "Negative=down, positive=up"}]
- id: lens_focus_steps
label: Lens Focus Steps
kind: action
command: "LMV+FSTP {steps}"
params: [{name: steps, type: integer, description: "Negative=inward, positive=outward"}]
- id: lens_zoom_steps
label: Lens Zoom Steps
kind: action
command: "LMV+ZSTP {steps}"
params: [{name: steps, type: integer, description: "Negative=larger, positive=smaller"}]
- id: lens_h_run
label: Lens Horizontal Run
kind: action
command: "LMV+HRUN {value}"
params: [{name: value, type: integer, description: "-1=left, 0=stop, 1=right"}]
- id: lens_v_run
label: Lens Vertical Run
kind: action
command: "LMV+VRUN {value}"
params: [{name: value, type: integer, description: "-1=down, 0=stop, 1=up"}]
- id: lens_focus_run
label: Lens Focus Run
kind: action
command: "LMV+FRUN {value}"
params: [{name: value, type: integer, description: "-1=inward, 0=stop, 1=outward"}]
- id: lens_zoom_run
label: Lens Zoom Run
kind: action
command: "LMV+ZRUN {value}"
params: [{name: value, type: integer, description: "-1=larger, 0=stop, 1=smaller"}]
- id: loop_out_enable
label: Video Loop Out
kind: action
command: "LOE {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable (default)"}]
- id: lamp_change
label: Lamp Change
kind: action
command: "LPC {lamp_type} \"{serial}\" [{hours}]"
params:
- name: lamp_type
type: integer
description: Lamp type index (LPC+TYPE?L)
- name: serial
type: string
description: Lamp serial number
- name: hours
type: integer
description: Pre-used hours (optional)
- id: lamp_type_list
label: List Lamp Types
kind: query
command: "LPC+TYPE?L"
params: []
- id: lamp_life
label: Lamp Life Threshold
kind: action
command: "LPL {hours}"
params: [{name: hours, type: integer, description: "Positive hours; 0=disable check (default)"}]
- id: lamp_mode
label: Lamp Mode
kind: action
command: "LPM {value}"
params: [{name: value, type: integer, description: "0=Constant Power (default), 1=Constant Intensity (LiteLOC)"}]
- id: lamp_power
label: Lamp Power
kind: action
command: "LPP {power}"
params: [{name: power, type: integer, description: Watts (range from LPP?m)"}]
- id: lamp_power_range
label: Lamp Power Range
kind: query
command: "LPP?m"
params: []
- id: lens_vertical
label: Lens Vertical Position
kind: action
command: "LVO {position}"
params: [{name: position, type: integer, description: Absolute vertical position (range from LVO?m)"}]
- id: lens_vertical_range
label: Lens Vertical Range
kind: query
command: "LVO?m"
params: []
- id: net_set
label: Network Setup (Static IP)
kind: action
command: "NET \"{ip}\" \"{subnet}\" [\"{gateway}\"]"
params:
- name: ip
type: string
description: IP address
- name: subnet
type: string
description: Subnet mask
- name: gateway
type: string
description: Gateway (optional)
- id: net_dgrp
label: Network Device Group
kind: action
command: "NET+DGRP \"{group}\""
params: [{name: group, type: string, description: Device group name}]
- id: net_dhcp
label: Enable DHCP
kind: action
command: "NET+DHCP 1"
params: []
- id: net_ip
label: Get IP Address
kind: query
command: "NET+ETH0?"
params: []
- id: net_gateway
label: Get Gateway
kind: query
command: "NET+GATE?"
params: []
- id: net_host
label: Set Hostname
kind: action
command: "NET+HOST \"{name}\""
params: [{name: name, type: string, description: Hostname (resolves as <name>.local)"}]
- id: net_mac
label: Get MAC Address
kind: query
command: "NET+MAC0?"
params: []
- id: net_port
label: Get TCP Port
kind: query
command: "NET+PORT?"
params: []
- id: net_subnet
label: Get Subnet Mask
kind: query
command: "NET+SUB0?"
params: []
- id: net_routing
label: Network Routing
kind: action
command: "NTR {value}"
params:
- name: value
type: integer
description: "0=Separate (default), 1=RS232+RS422, 2=RS232+Ethernet, 3=All joined incl USB"
- id: ping
label: Ping / Device Info
kind: query
command: "PNG?"
params: []
- id: profile_list
label: List Profiles
kind: query
command: "PRO?L"
params: []
- id: profile_select
label: Select Profile
kind: action
command: "PRO {value}"
params:
- name: value
type: integer
description: "0=Default, 1-4=custom"
- id: power
label: Power
kind: action
command: "PWR {value}"
params: [{name: value, type: integer, description: "0=off, 1=on"}]
- id: power_electronics_override
label: Power Electronics Override
kind: action
command: "PWR+ELEC {value}"
params: [{name: value, type: integer, description: "0=disable, 1=keep electronics on in standby"}]
- id: power_query
label: Power State
kind: query
command: "PWR?"
params: []
- id: access_level_prta
label: Access Level (RS232-IN)
kind: action
command: "RAL+PRTA {value}"
params: [{name: value, type: integer, description: "0=No Access, 1=Login Required, 2=Free Access (default)"}]
- id: access_level_prtb
label: Access Level (RS232-OUT)
kind: action
command: "RAL+PRTB {value}"
params: [{name: value, type: integer, description: "0=No Access, 1=Login Required, 2=Free Access (default)"}]
- id: access_level_prtc
label: Access Level (RS422)
kind: action
command: "RAL+PRTC {value}"
params: [{name: value, type: integer, description: "0=No Access, 1=Login Required, 2=Free Access (default)"}]
- id: access_level_pusb
label: Access Level (USB)
kind: action
command: "RAL+PUSB {value}"
params: [{name: value, type: integer, description: "0=No Access, 1=Login Required, 2=Free Access (default)"}]
- id: shutter
label: Shutter
kind: action
command: "SHU {value}"
params: [{name: value, type: integer, description: "0=open, 1=closed (default)"}]
- id: shutter_query
label: Shutter State
kind: query
command: "SHU?"
params: []
- id: snmp_tip1
label: SNMP Trap IP 1
kind: action
command: "SNM+TIP1 \"{ip}\""
params: [{name: ip, type: string, description: "Trap IP; 0.0.0.0 disables (default)"}]
- id: snmp_tip2
label: SNMP Trap IP 2
kind: action
command: "SNM+TIP2 \"{ip}\""
params: [{name: ip, type: string, description: "Trap IP; 0.0.0.0 disables (default)"}]
- id: snmp_tip3
label: SNMP Trap IP 3
kind: action
command: "SNM+TIP3 \"{ip}\""
params: [{name: ip, type: string, description: "Trap IP; 0.0.0.0 disables (default)"}]
- id: snmp_read_password
label: SNMP Read Password
kind: action
command: "SNM+READ \"{password}\""
params: [{name: password, type: string, description: "Default = 'private'"}]
- id: snmp_lamp_trap
label: SNMP Lamp State Trap
kind: action
command: "SNM+LAMP {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable"}]
- id: snmp_life_trap
label: SNMP Lamp End-of-Life Trap
kind: action
command: "SNM+LIFE {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable"}]
- id: snmp_power_trap
label: SNMP Power Trap
kind: action
command: "SNM+POWR {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable"}]
- id: snmp_stall_trap
label: SNMP Fan Stall Trap
kind: action
command: "SNM+STAL {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable"}]
- id: snmp_thermal_trap
label: SNMP Thermal Trap
kind: action
command: "SNM+THRM {value}"
params: [{name: value, type: integer, description: "0=disable, 1=enable"}]
- id: screen_orientation
label: Screen Orientation
kind: action
command: "SOR {value}"
params: [{name: value, type: integer, description: "0=Front (default), 1=Rear, 2=Front Inverted, 3=Rear Inverted"}]
- id: status_all
label: Status (all)
kind: query
command: "SST?"
params: []
- id: status_group
label: Status (group)
kind: query
command: "SST+{group}?"
params: [{name: group, type: string, description: Four-letter status group identifier}]
- id: status_item
label: Status (item)
kind: query
command: "SST+{group}?{index}"
params:
- name: group
type: string
description: Four-letter status group identifier
- name: index
type: integer
description: Item index within group
- id: size_position
label: Size and Position
kind: action
command: "SZP {value}"
params:
- name: value
type: integer
description: "0=Auto (default), 1=None, 2=Full size, 3=Full width, 4=Full height"
- id: time_set
label: Set Time
kind: action
command: "TMD+TIME \"{time}\""
params: [{name: time, type: string, description: "Time as hh:mm:ss"}]
- id: date_set
label: Set Date
kind: action
command: "TMD+DATE \"{date}\""
params: [{name: date, type: string, description: "Date as YYYY/MM/DD"}]
- id: time_query
label: Get Time
kind: query
command: "TMD+TIME?"
params: []
- id: user_login
label: User Login
kind: action
command: "UID \"{username}\" \"{password}\""
params:
- name: username
type: string
description: Username
- name: password
type: string
description: Password
notes: "Default service login: 'service'/'service'"
- id: warp_list
label: List Warp Maps
kind: query
command: "WRP+SLCT?"
params: []
- id: warp_select
label: Select Warp Map
kind: action
command: "WRP+SLCT {value}"
params: [{name: value, type: integer, description: "0=off, 1-4=warp map"}]
- id: lens_zoom
label: Lens Zoom Position
kind: action
command: "ZOM {position}"
params: [{name: position, type: integer, description: Absolute zoom position (range from ZOM?m)"}]
- id: lens_zoom_range
label: Lens Zoom Range
kind: query
command: "ZOM?m"
params: []
Feedbacks
- id: power_state
type: enum
values: [standby, warming_up, on, cooling_down]
source: "PWR! response: 000=Standby, 011=Warming up, 001=On, 010=Cooling down"
- id: shutter_state
type: enum
values: [open, closed]
source: "SHU? returns 0=open, 1=closed"
- id: status_item_state
type: enum
values: [ok, warning, error]
source: "SST+<group>!<index> state field: 000=OK, 001=Warning, 002=Error"
- id: lamp_history_entry
type: object
source: "HIS! response with entry number, install date, serial, lamp type, strikes, failed strikes, failed re-strikes, unexpected offs, pre-inst hours, total hours"
- id: tcp_port
type: integer
source: "NET+PORT? returns configured TCP port (1024-49151)"
- id: ip_address
type: string
source: "NET+ETH0?"
- id: gateway
type: string
source: "NET+GATE?"
- id: subnet_mask
type: string
source: "NET+SUB0?"
- id: mac_address
type: string
source: "NET+MAC0?"
- id: lamp_lamploc_progress
type: integer
source: "LLM+STAT? returns 0-100 percent"
- id: lamp_lamploc_light_sensor
type: integer
source: "LLM+LGHT? returns light sensor value"
- id: ping_response
type: object
source: "PNG! response: <type> <major> <minor> <build>"
- id: event_entry
type: object
source: "EVT! response with index, timestamp, severity (OK/Error/Warning), message"
Variables
# UNRESOLVED: source does not document a settable parameter that is not already represented as a discrete action.
Events
- id: card_detected
message_template: "65535 00000 FYI01901 \"Card x detected\""
description: "Triggered when a new card is detected in slot x while video electronics are already on."
- id: card_removed
message_template: "65535 00000 FYI01901 \"Card x removed\""
description: "Triggered when a card is removed from slot x while video electronics are on."
- id: date_set
message_template: "65535 00000 FYI00916 \"Setting Date to YYYY/MM/DD\""
description: "Generated when the date is changed."
- id: time_set
message_template: "65535 00000 FYI00916 \"Setting Time to hh:mm:ss\""
description: "Generated when the time is changed."
- id: factory_defaults
message_template: "65535 00000 FYI00919 \"All settings have been restored to their factory defaults. Reboot is required to take effect.\""
description: "Generated when a factory default has been performed."
- id: network_changed
message_template: "65535 00000 FYI00915 \"Configured network: IP:... Mask:... Gateway:...\""
description: "Generated when network settings change."
- id: status_ok
message_template: "65535 00000 FYI00000 \"(SST+<group>?<index>) <description> = <value>\""
description: "Status item transitioned to OK."
- id: status_warning
message_template: "65535 00000 ERR00000 \"System Warning: (SST+<group>?<index>) <description> = <value>\""
description: "Status item transitioned to warning."
- id: status_error
message_template: "65535 00000 ERR00000 \"System Error: (SST+<group>?<index>) <description> = <value>\""
description: "Status item transitioned to error."
Macros
# UNRESOLVED: source does not document explicit multi-step sequences.
Safety
confirmation_required_for:
- factory_defaults # DEF 111, requires exact value 111; only valid in standby/cool down
interlocks:
- "BST (self test) must not run while projector is warming up"
- "LPP (lamp power) only meaningful in Constant Power mode (LPM 0)"
# UNRESOLVED: no explicit safety warnings or interlock procedures beyond what is captured above.
Notes
- Protocol: ASCII, parenthesis-delimited, e.g.
(PWR 1),(BDR+PRTA 6). - Subcommands use
+as separator, e.g.BDR+PRTA,CCA+RDCX. - Queries use
?suffix; responses use!, e.g.ADR?→(01001 00005ADR!005). - Multiple projectors on a daisy chain require
ADRto be set uniquely. - TCP port is configurable (range 1024-49151, 3003 reserved). The source does not state a default TCP port.
- Baud rate default is 115200 across all three serial ports (RS232-IN, RS232-OUT, RS422). Service-level access required to change.
- Three login levels (RAL): 0 = No Access, 1 = Login Required, 2 = Free Access (default).
- "saved value" annotations in the source mean the setting persists across AC cycles.
- The source documents commands and examples but no formal safety/interlock section.
Provenance
source_domains:
- christiedigital.com
source_urls:
- https://www.christiedigital.com/globalassets/resources/public/020-101258-05-christie-lit-tech-ref-d4k-serial-api.pdf
retrieved_at: 2026-05-14T14:29:32.789Z
last_checked_at: 2026-06-02T21:41:10.184Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:41:10.184Z
matched_actions: 160
action_count: 160
confidence: medium
summary: "All 160 spec actions have verbatim wire-literal matches in the source; only CCA+ROFB and CCA+GOFB are undocumented in the spec (2 of ~128 source tokens). (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- CCA+ROFB
- CCA+GOFB
- "baud rate, data bits, parity, stop bits not all stated; TCP default port not specified"
- "data bits not stated in source"
- "parity not stated in source"
- "stop bits not stated in source"
- "flow control not stated in source"
- "configurable 1024-49151; default not stated (3003 reserved)"
- "source does not document a settable parameter that is not already represented as a discrete action."
- "source does not document explicit multi-step sequences."
- "no explicit safety warnings or interlock procedures beyond what is captured above."
- "data bits, parity, stop bits, flow control not stated; default TCP port not stated; firmware version compatibility not stated."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0