Summary
ASCII serial protocol for controlling Christie E Series projectors over RS-232 or Ethernet. All commands are wrapped in parentheses with a 3-letter function code, optional 4-letter subcode, and optional data, request ("?"), or reply ("!") marker. The status response example names a specific model DWU670-E, but the manual itself covers the whole E Series.
Transport
protocols:
- serial
- tcp # inferred: "ETHERNET port" mentioned in source for remote access
serial:
baud_rate: 115200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
port: null # UNRESOLVED: TCP port number not stated in source
auth:
type: none # inferred: no protocol-level auth procedure in source (PIV is projector-side PIN, UID is service-mode login, not connection auth)
Traits
- powerable # inferred from PWR, APW, ASH, SLP, PWR+STBM commands
- routable # inferred from SIN, PIP, PPS, PHS, PPP input/PIP routing commands
- queryable # inferred from "?" request forms (LIF+LP1H?, MIF+RESL?, SST?, PIF+FWVS?, etc.)
- levelable # inferred from BRT, CON, CLR, TNT, NRD, FTC, ROG, GOG, BOG, ROO, GOO, BOO, SYT, WPK image-level commands
Actions
# Size & Position
- id: szp_set
label: Size Presets
kind: action
command: "(SZP{preset})"
params:
- name: preset
type: integer
description: "0=Auto, 1=Native, 2=4:3, 3=LetterBox, 4=Full Size, 5=Full Width, 6=Full Height"
- id: szp_query
label: Size Presets Query
kind: query
command: "(SZP?)"
params: []
- id: ovs_set
label: Overscan
kind: action
command: "(OVS{mode})"
params:
- name: mode
type: integer
description: "0=OFF, 1=ZOOM, 2=CROP"
- id: ovs_query
label: Overscan Query
kind: query
command: "(OVS?)"
params: []
- id: pxp_set
label: Pixel Phase
kind: action
command: "(PXP{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: pxp_query
label: Pixel Phase Query
kind: query
command: "(PXP?)"
params: []
- id: pxt_set
label: Pixel Track
kind: action
command: "(PXT{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: pxt_query
label: Pixel Track Query
kind: query
command: "(PXT?)"
params: []
- id: hor_set
label: Horizontal Position
kind: action
command: "(HOR{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: hor_query
label: Horizontal Position Query
kind: query
command: "(HOR?)"
params: []
- id: vrt_set
label: Vertical Position
kind: action
command: "(VRT{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: vrt_query
label: Vertical Position Query
kind: query
command: "(VRT?)"
params: []
- id: wrp_hkst_set
label: Horizontal Keystone
kind: action
command: "(WRP+HKST{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: wrp_hkst_query
label: Horizontal Keystone Query
kind: query
command: "(WRP+HKST?)"
params: []
- id: wrp_vkst_set
label: Vertical Keystone
kind: action
command: "(WRP+VKST{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: wrp_vkst_query
label: Vertical Keystone Query
kind: query
command: "(WRP+VKST?)"
params: []
- id: hpc_set
label: Horizontal Pincushion
kind: action
command: "(HPC{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: hpc_query
label: Horizontal Pincushion Query
kind: query
command: "(HPC?)"
params: []
- id: vpc_set
label: Vertical Pincushion
kind: action
command: "(VPC{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: vpc_query
label: Vertical Pincushion Query
kind: query
command: "(VPC?)"
params: []
- id: siz_set
label: Digital Zoom
kind: action
command: "(SIZ{value})"
params:
- name: value
type: integer
description: "0-100, 100=normal (default), 0=fully reduced"
- id: siz_query
label: Digital Zoom Query
kind: query
command: "(SIZ?)"
params: []
- id: dsh_set
label: Digital Horizontal Shift
kind: action
command: "(DSH{value})"
params:
- name: value
type: integer
description: "0-100, 0=left, 50=center (default), 100=right. Requires Digital Zoom applied first."
- id: dsh_query
label: Digital Horizontal Shift Query
kind: query
command: "(DSH?)"
params: []
- id: dsv_set
label: Digital Vertical Shift
kind: action
command: "(DSV{value})"
params:
- name: value
type: integer
description: "0-100, 0=top, 50=center (default), 100=bottom. Requires Digital Zoom applied first."
- id: dsv_query
label: Digital Vertical Shift Query
kind: query
command: "(DSV?)"
params: []
- id: aim
label: Auto Image
kind: action
command: "(AIM1)"
params: []
notes: Forces the projector to reacquire and lock to the input signal.
# Image Settings
- id: brt_set
label: Brightness
kind: action
command: "(BRT{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: brt_query
label: Brightness Query
kind: query
command: "(BRT?)"
params: []
- id: con_set
label: Contrast
kind: action
command: "(CON{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: con_query
label: Contrast Query
kind: query
command: "(CON?)"
params: []
- id: csp_set
label: Color Space
kind: action
command: "(CSP{mode})"
params:
- name: mode
type: integer
description: "0=RGB, 1=REC709, 2=REC601, 3=RGB Video, 4=Auto (default)"
- id: csp_query
label: Color Space Query
kind: query
command: "(CSP?)"
params: []
- id: dtl_set
label: Detail (Sharpness)
kind: action
command: "(DTL{level})"
params:
- name: level
type: integer
description: "0=Maximum, 1=High, 2=Normal (default), 3=Low, 4=Minimum"
- id: dtl_query
label: Detail Query
kind: query
command: "(DTL?)"
params: []
- id: clr_set
label: Color Saturation
kind: action
command: "(CLR{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: clr_query
label: Color Query
kind: query
command: "(CLR?)"
params: []
- id: tnt_set
label: Tint
kind: action
command: "(TNT{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: tnt_query
label: Tint Query
kind: query
command: "(TNT?)"
params: []
- id: nrd_set
label: Noise Reduction
kind: action
command: "(NRD{value})"
params:
- name: value
type: integer
description: "0-100, default 0"
- id: nrd_query
label: Noise Reduction Query
kind: query
command: "(NRD?)"
params: []
- id: ftc_set
label: Flesh Tone Correction
kind: action
command: "(FTC{value})"
params:
- name: value
type: integer
description: "0-100, default 0"
- id: ftc_query
label: Flesh Tone Correction Query
kind: query
command: "(FTC?)"
params: []
- id: vbl_set
label: Video Black Level (IRE)
kind: action
command: "(VBL{mode})"
params:
- name: mode
type: integer
description: "0=IRE off, 1=IRE on"
- id: vbl_query
label: Video Black Level Query
kind: query
command: "(VBL?)"
params: []
- id: fmd_set
label: Film Mode Detect
kind: action
command: "(FMD{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On (default)"
- id: fmd_query
label: Film Mode Detect Query
kind: query
command: "(FMD?)"
params: []
- id: clc_set
label: Closed Captions
kind: action
command: "(CLC{mode})"
params:
- name: mode
type: integer
description: "0=off (default), 1=CC1, 2=CC2"
- id: clc_query
label: Closed Captions Query
kind: query
command: "(CLC?)"
params: []
- id: rog_set
label: Red Gain
kind: action
command: "(ROG{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: rog_query
label: Red Gain Query
kind: query
command: "(ROG?)"
params: []
- id: gog_set
label: Green Gain
kind: action
command: "(GOG{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: gog_query
label: Green Gain Query
kind: query
command: "(GOG?)"
params: []
- id: bog_set
label: Blue Gain
kind: action
command: "(BOG{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: bog_query
label: Blue Gain Query
kind: query
command: "(BOG?)"
params: []
- id: roo_set
label: Red Offset
kind: action
command: "(ROO{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: roo_query
label: Red Offset Query
kind: query
command: "(ROO?)"
params: []
- id: goo_set
label: Green Offset
kind: action
command: "(GOO{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: goo_query
label: Green Offset Query
kind: query
command: "(GOO?)"
params: []
- id: boo_set
label: Blue Offset
kind: action
command: "(BOO{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: boo_query
label: Blue Offset Query
kind: query
command: "(BOO?)"
params: []
- id: syt_set
label: Sync Threshold (SOG)
kind: action
command: "(SYT{value})"
params:
- name: value
type: integer
description: "0-100, default 50"
- id: syt_query
label: Sync Threshold Query
kind: query
command: "(SYT?)"
params: []
- id: gor
label: RGB Gain/Offset Reset
kind: action
command: "(GOR1)"
params: []
notes: Reset Red, Green, Blue gain and offset values.
- id: pst_set
label: Picture Setting
kind: action
command: "(PST{preset})"
params:
- name: preset
type: integer
description: "0=Presentation, 1=Video, 2=Bright, 3=Whiteboard, 4=Blackboard, 5=Beige Wall, 6=User"
- id: pst_user_store
label: Picture Setting - Store User Mode
kind: action
command: "(PST+USER1)"
params: []
notes: Stores current settings to User Mode.
- id: pst_query
label: Picture Setting Query
kind: query
command: "(PST?)"
params: []
- id: dim_set
label: DynamicBlack
kind: action
command: "(DIM{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On"
- id: dim_query
label: DynamicBlack Query
kind: query
command: "(DIM?)"
params: []
- id: bgc_set
label: Gamma Curve
kind: action
command: "(BGC{curve})"
params:
- name: curve
type: integer
description: "0=Video, 1=Film, 2=Bright, 3=CRT"
- id: bgc_query
label: Gamma Curve Query
kind: query
command: "(BGC?)"
params: []
- id: bcl_set
label: BrilliantColor
kind: action
command: "(BCL{mode})"
params:
- name: mode
type: integer
description: "0=Normal Look, 1=Bright Look"
- id: bcl_query
label: BrilliantColor Query
kind: query
command: "(BCL?)"
params: []
- id: wpk_set
label: White Peaking
kind: action
command: "(WPK{value})"
params:
- name: value
type: integer
description: "Adjusts amount of white processing through the data path."
- id: wpk_query
label: White Peaking Query
kind: query
command: "(WPK?)"
params: []
- id: cci_set
label: Color Temperature
kind: action
command: "(CCI{mode})"
params:
- name: mode
type: integer
description: "0=Warmest, 1=Warm, 2=Cool, 3=Bright"
- id: cci_query
label: Color Temperature Query
kind: query
command: "(CCI?)"
params: []
- id: edg_set
label: Edge Enhancement
kind: action
command: "(EDG{level})"
params:
- name: level
type: integer
description: "0=off, 1=normal, 2=Maximum"
- id: edg_query
label: Edge Enhancement Query
kind: query
command: "(EDG?)"
params: []
- id: cws_set
label: Color Wheel Speed
kind: action
command: "(CWS{speed})"
params:
- name: speed
type: integer
description: "0=2x setting, 1=3x setting"
- id: cws_query
label: Color Wheel Speed Query
kind: query
command: "(CWS?)"
params: []
# Configuration
- id: loc_lang_set
label: OSD Language
kind: action
command: "(LOC+LANG{language})"
params:
- name: language
type: integer
description: "0=English, 1=Chinese, 2=French, 3=German, 4=Italian, 5=Japanese, 6=Korean, 7=Russian, 8=Spanish"
- id: loc_lang_query
label: OSD Language Query
kind: query
command: "(LOC+LANG?)"
params: []
- id: fcs
label: Focus (step)
kind: action
command: "(FCS{direction})"
params:
- name: direction
type: enum
description: "n=increase by 1, p=decrease by 1"
notes: "Use modifier 'n' to increase focus by 1, 'p' to decrease."
- id: zom
label: Zoom (step)
kind: action
command: "(ZOM{direction})"
params:
- name: direction
type: enum
description: "n=increase by 1, p=decrease by 1"
notes: "Use modifier 'n' to increase zoom by 1, 'p' to decrease."
- id: lvo
label: Lens Shift Vertical (step)
kind: action
command: "(LVO{direction})"
params:
- name: direction
type: enum
description: "n=increase by 1, p=decrease by 1"
- id: lho
label: Lens Shift Horizontal (step)
kind: action
command: "(LHO{direction})"
params:
- name: direction
type: enum
description: "n=increase by 1, p=decrease by 1"
- id: lcb_lock_set
label: Lock Lens Motors
kind: action
command: "(LCB+LOCK{mode})"
params:
- name: mode
type: integer
description: "0=Allow (default), 1=Locked"
- id: lcb_lock_query
label: Lens Motors Lock Query
kind: query
command: "(LCB+LOCK?)"
params: []
- id: lcb_home
label: Lens Center (Home)
kind: action
command: "(LCB+HOME1)"
params: []
notes: Calibrates the lens and returns to horizontal/vertical home. Focus and Zoom unaffected.
- id: cel_set
label: Ceiling Mount
kind: action
command: "(CEL{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On, 2=Auto (G-sensor detects orientation)"
- id: cel_query
label: Ceiling Mount Query
kind: query
command: "(CEL?)"
params: []
- id: sor_set
label: Rear Projection
kind: action
command: "(SOR{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On"
- id: sor_query
label: Rear Projection Query
kind: query
command: "(SOR?)"
params: []
- id: msh_set
label: Menu Shift Horizontal
kind: action
command: "(MSH{value})"
params:
- name: value
type: integer
description: "0-100, default 0"
- id: msh_query
label: Menu Shift Horizontal Query
kind: query
command: "(MSH?)"
params: []
- id: msv_set
label: Menu Shift Vertical
kind: action
command: "(MSV{value})"
params:
- name: value
type: integer
description: "0-100, default 0"
- id: msv_query
label: Menu Shift Vertical Query
kind: query
command: "(MSV?)"
params: []
- id: mbe_user_set
label: Show Messages (OSD Messages)
kind: action
command: "(MBE+USER{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On (default)"
- id: mbe_user_query
label: Show Messages Query
kind: query
command: "(MBE+USER?)"
params: []
- id: ost_set
label: Menu Transparency
kind: action
command: "(OST{value})"
params:
- name: value
type: integer
description: "0-90, default 0 (not transparent)"
- id: ost_query
label: Menu Transparency Query
kind: query
command: "(OST?)"
params: []
- id: sps_slct_set
label: Splash Screen Select
kind: action
command: "(SPS+SLCT{choice})"
params:
- name: choice
type: integer
description: "0=Factory Logo (default), 1=Blue, 2=Black, 3=White"
- id: sps_slct_query
label: Splash Screen Query
kind: query
command: "(SPS+SLCT?)"
params: []
- id: piv
label: PIN Protect Toggle
kind: action
command: '(PIV"XXXXX")'
params:
- name: pin
type: string
description: "5-digit numeric PIN (0-9). If correct, toggles the Pin Protect function."
notes: "Enables/disables password protection; correct PIN must be supplied."
- id: pcg
label: Change PIN
kind: action
command: '(PCG"OOOOO,NNNNN")'
params:
- name: old_pin
type: string
description: "5-digit old PIN (default 12345)"
- name: new_pin
type: string
description: "5-digit new PIN (numeric, 0-9)"
- id: pwr_stbm_set
label: Standby Mode
kind: action
command: "(PWR+STBM{mode})"
params:
- name: mode
type: integer
description: "0=1W Mode (keypad only; cannot power on via UART/WEB/USB), 1=Communication Mode (~20W; power-on via UART/WEB/USB supported)"
- id: pwr_stbm_query
label: Standby Mode Query
kind: query
command: "(PWR+STBM?)"
params: []
- id: apw_set
label: Auto Power On
kind: action
command: "(APW{mode})"
params:
- name: mode
type: integer
description: "0=Off (default), 1=On (skip standby on AC applied)"
- id: apw_query
label: Auto Power On Query
kind: query
command: "(APW?)"
params: []
- id: ash_set
label: Auto Shutdown
kind: action
command: "(ASH{minutes})"
params:
- name: minutes
type: integer
description: "0=Off/Never, 1=5min, 2=10min, 3=15min, 4=20min, 5=25min, 6=30min"
- id: ash_query
label: Auto Shutdown Query
kind: query
command: "(ASH?)"
params: []
- id: slp_set
label: Sleep Timer
kind: action
command: "(SLP{hours})"
params:
- name: hours
type: integer
description: "0=Off (default), 1=2 Hrs, 2=4 Hrs, 3=6 Hrs"
- id: slp_query
label: Sleep Timer Query
kind: query
command: "(SLP?)"
params: []
- id: hat_set
label: High Altitude Mode
kind: action
command: "(HAT{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On (modify fan speeds for high altitude)"
- id: hat_query
label: High Altitude Query
kind: query
command: "(HAT?)"
params: []
- id: net_dhcp_set
label: Network - DHCP
kind: action
command: "(NET+DHCP{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On"
- id: net_eth0_set
label: Network - IP Address
kind: action
command: '(NET+ETH0"{ip}")'
params:
- name: ip
type: string
description: "IPv4 address, e.g. 192.168.000.001"
- id: net_sub0_set
label: Network - Subnet Mask
kind: action
command: '(NET+SUB0"{mask}")'
params:
- name: mask
type: string
description: "Subnet mask, e.g. 255.255.255.000"
- id: net_gate_set
label: Network - Default Gateway
kind: action
command: '(NET+GATE"{gateway}")'
params:
- name: gateway
type: string
description: "Default gateway IPv4 address"
- id: net_host_set
label: Network - Projector Name
kind: action
command: '(NET+HOST"{name}")'
params:
- name: name
type: string
description: "Projector hostname, e.g. DWU670-E"
- id: net_mac0_set
label: Network - MAC Address
kind: action
command: '(NET+MAC0"{mac}")'
params:
- name: mac
type: string
description: "MAC address, e.g. 00:E0:47:01:02:3C"
- id: net_show_set
label: Network - Show Network Messages
kind: action
command: "(NET+SHOW{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On"
- id: net_rstr
label: Network - Restart
kind: action
command: "(NET+RSTR1)"
params: []
- id: net_rset
label: Network - Factory Reset
kind: action
command: "(NET+RSET1)"
params: []
- id: bdr_set
label: Serial Port Baud Rate
kind: action
command: "(BDR{baud})"
params:
- name: baud
type: integer
description: "0=2400, 1=4800, 2=9600, 3=14400, 4=19200, 5=38400, 6=57600, 7=115200 (default)"
- id: bdr_query
label: Serial Port Baud Rate Query
kind: query
command: "(BDR?)"
params: []
- id: sec_set
label: Serial Port Echo
kind: action
command: "(SEC{mode})"
params:
- name: mode
type: integer
description: "0=Off (default), 1=On"
- id: sec_query
label: Serial Port Echo Query
kind: query
command: "(SEC?)"
params: []
- id: vtt_set
label: 12V Trigger
kind: action
command: "(VTT{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=On (controls screen raise/lower)"
- id: vtt_query
label: 12V Trigger Query
kind: query
command: "(VTT?)"
params: []
- id: hks_set
label: Hot-key Settings
kind: action
command: "(HKS{function})"
params:
- name: function
type: integer
description: "0=Blank Screen, 1=Aspect Ratio, 2=Freeze Screen, 3=Projector Info, 4=Overscan, 5=Closed Captions"
- id: hks_query
label: Hot-key Settings Query
kind: query
command: "(HKS?)"
params: []
# Lamp
- id: lpm_set
label: Lamp Power
kind: action
command: "(LPM{level})"
params:
- name: level
type: integer
description: "0=280W, 1=285W, 2=290W, 3=295W, 4=300W, 5=305W, 6=310W, 7=315W, 8=320W, 9=325W, 10=330W (default)"
- id: lpm_query
label: Lamp Power Query
kind: query
command: "(LPM?)"
params: []
- id: lop_set
label: Current Lamp
kind: action
command: "(LOP{choice})"
params:
- name: choice
type: integer
description: "1=Only Lamp 1, 2=Only Lamp 2, 3=Both Lamps"
- id: lop_query
label: Current Lamp Query
kind: query
command: "(LOP?)"
params: []
- id: wsp_set
label: Whisper Mode
kind: action
command: "(WSP{mode})"
params:
- name: mode
type: integer
description: "0=Off, 1=Lamp1, 2=Lamp2, 3=Auto"
- id: wsp_query
label: Whisper Mode Query
kind: query
command: "(WSP?)"
params: []
- id: lsf_set
label: Lamp Auto Switch
kind: action
command: "(LSF{mode})"
params:
- name: mode
type: integer
description: "0=Only on lamp fail, 1=Switch on every power on (and on fail), 2=Switch after N hours (and on fail)"
- id: lsf_time_set
label: Lamp Auto Switch - N Hours
kind: action
command: "(LSF+TIME{hours})"
params:
- name: hours
type: integer
description: "Number of hours before lamp auto switch when LSF mode = 2"
- id: lsf_query
label: Lamp Auto Switch Query
kind: query
command: "(LSF?)"
params: []
- id: lif_lp1h_query
label: Lamp 1 Hours Query
kind: query
command: "(LIF+LP1H?)"
params: []
- id: lif_lp2h_query
label: Lamp 2 Hours Query
kind: query
command: "(LIF+LP2H?)"
params: []
- id: lif_lpth_query
label: Total Lamp Hours Query
kind: query
command: "(LIF+LPTH?)"
params: []
- id: lif_lp1r_query
label: Lamp 1 Reset Times Query
kind: query
command: "(LIF+LP1R?)"
params: []
- id: lif_lp2r_query
label: Lamp 2 Reset Times Query
kind: query
command: "(LIF+LP2R?)"
params: []
- id: lpl_set
label: Lamp Life Warning
kind: action
command: "(LPL{hours})"
params:
- name: hours
type: integer
description: "0=Off (default). Any positive value triggers a warning at that many hours."
- id: lpl_query
label: Lamp Life Warning Query
kind: query
command: "(LPL?)"
params: []
- id: lpc_lmp1
label: Reset Lamp 1 Hours
kind: action
command: "(LPC+LMP11)"
params: []
- id: lpc_lmp2
label: Reset Lamp 2 Hours
kind: action
command: "(LPC+LMP21)"
params: []
notes: "Source example shows (LPC+LAMP21); the subcode table lists LMP2. Either form per source."
- id: lpc_both
label: Reset Both Lamp Hours
kind: action
command: "(LPC+BOTH1)"
params: []
# Input Switching & PIP
- id: sin_set
label: Input Source Change
kind: action
command: "(SIN{source})"
params:
- name: source
type: integer
description: "0=VGA1, 1=VGA2, 2=RGBHV (5-wire BNC), 3=HDMI 1, 4=HDMI 2, 5=Component, 6=S-Video, 7=Composite"
- id: sin_main
label: Set Main Source
kind: action
command: "(SIN+MAIN{source})"
params:
- name: source
type: integer
description: "Same enumeration as SIN direct: 0=VGA1, 1=VGA2, 2=RGBHV, 3=HDMI 1, 4=HDMI 2, 5=Component, 6=S-Video, 7=Composite"
- id: sin_piip
label: Set PIP Source
kind: action
command: "(SIN+PIIP{source})"
params:
- name: source
type: integer
description: "Same enumeration as SIN direct: 0=VGA1, 1=VGA2, 2=RGBHV, 3=HDMI 1, 4=HDMI 2, 5=Component, 6=S-Video, 7=Composite"
- id: sin_query
label: Active Source Query
kind: query
command: "(SIN?)"
params: []
- id: pip_set
label: PIP/PBP Enable
kind: action
command: "(PIP{mode})"
params:
- name: mode
type: integer
description: "0=Disable (default), 1=Enable"
- id: pip_query
label: PIP/PBP State Query
kind: query
command: "(PIP?)"
params: []
- id: pps
label: PIP/PBP Swap
kind: action
command: "(PPS1)"
params: []
notes: Swap MAIN and PIP sources.
- id: phs_set
label: PIP/PBP Size
kind: action
command: "(PHS{size})"
params:
- name: size
type: integer
description: "0=Small, 1=Medium, 2=Large"
- id: phs_query
label: PIP/PBP Size Query
kind: query
command: "(PHS?)"
params: []
- id: ppp_set
label: PIP/PBP Layout
kind: action
command: "(PPP{layout})"
params:
- name: layout
type: integer
description: "0=POP Bigger Left, 1=Over-Under Bigger Upper, 2=POP Bigger Right, 3=Over-Under Bigger Lower, 4=PIP-Bottom Right, 5=PIP-Bottom Left, 6=PIP-Top Left, 7=PIP-Top Right"
- id: ppp_query
label: PIP/PBP Layout Query
kind: query
command: "(PPP?)"
params: []
- id: tmg_set
label: Timing Detect Mode
kind: action
command: "(TMG{mode})"
params:
- name: mode
type: integer
description: "0=Normal, 1=Wide"
- id: tmg_query
label: Timing Detect Mode Query
kind: query
command: "(TMG?)"
params: []
- id: mif_acts_query
label: Main Image Active Source
kind: query
command: "(MIF+ACTS?)"
params: []
- id: mif_sgft_query
label: Main Image Signal Format
kind: query
command: "(MIF+SGFT?)"
params: []
- id: mif_aprt_query
label: Main Image Aspect Ratio
kind: query
command: "(MIF+APRT?)"
params: []
- id: mif_resl_query
label: Main Image Resolution
kind: query
command: "(MIF+RESL?)"
params: []
- id: mif_vref_query
label: Main Image Vertical Refresh
kind: query
command: "(MIF+VREF?)"
params: []
- id: mif_href_query
label: Main Image Horizontal Refresh
kind: query
command: "(MIF+HREF?)"
params: []
- id: mif_pixc_query
label: Main Image Pixel Clock
kind: query
command: "(MIF+PIXC?)"
params: []
- id: mif_sync_query
label: Main Image Sync Type
kind: query
command: "(MIF+SYNC?)"
params: []
- id: mif_clsp_query
label: Main Image Color Space
kind: query
command: "(MIF+CLSP?)"
params: []
- id: sif_acts_query
label: PIP Image Active Source
kind: query
command: "(SIF+ACTS?)"
params: []
- id: sif_sgft_query
label: PIP Image Signal Format
kind: query
command: "(SIF+SGFT?)"
params: []
- id: sif_aprt_query
label: PIP Image Aspect Ratio
kind: query
command: "(SIF+APRT?)"
params: []
- id: sif_resl_query
label: PIP Image Resolution
kind: query
command: "(SIF+RESL?)"
params: []
- id: sif_vref_query
label: PIP Image Vertical Refresh
kind: query
command: "(SIF+VREF?)"
params: []
- id: sif_href_query
label: PIP Image Horizontal Refresh
kind: query
command: "(SIF+HREF?)"
params: []
- id: sif_pixc_query
label: PIP Image Pixel Clock
kind: query
command: "(SIF+PIXC?)"
params: []
- id: sif_sync_query
label: PIP Image Sync Type
kind: query
command: "(SIF+SYNC?)"
params: []
- id: sif_clsp_query
label: PIP Image Color Space
kind: query
command: "(SIF+CLSP?)"
params: []
- id: esh_set
label: Enabled Main Source Hot-key
kind: action
command: "(ESH{mode})"
params:
- name: mode
type: integer
description: "0=ON, 1=OFF"
- id: esh_query
label: Enabled Hot-key Query
kind: query
command: "(ESH?)"
params: []
- id: mhk_vga1
label: Hot-key Assignment for VGA1
kind: action
command: "(MHK+VGA1{key})"
params:
- name: key
type: integer
description: "Number key 0-9 to assign as hot-key (e.g. 8 → (MHK+VGA18))"
- id: mhk_vga2
label: Hot-key Assignment for VGA2
kind: action
command: "(MHK+VGA2{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_bnc1
label: Hot-key Assignment for BNC
kind: action
command: "(MHK+BNC1{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_hdm1
label: Hot-key Assignment for HDMI1
kind: action
command: "(MHK+HDM1{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_hdm2
label: Hot-key Assignment for HDMI2
kind: action
command: "(MHK+HDM2{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_con1
label: Hot-key Assignment for Component
kind: action
command: "(MHK+CON1{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_svdo
label: Hot-key Assignment for S-Video
kind: action
command: "(MHK+SVDO{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: mhk_cops
label: Hot-key Assignment for Composite
kind: action
command: "(MHK+COPS{key})"
params:
- name: key
type: integer
description: "Number key 0-9"
- id: sks_set
label: Source Key Function
kind: action
command: "(SKS{function})"
params:
- name: function
type: integer
description: "0=Change source, 1=List all sources (default), 2=Change source with Auto"
# Miscellaneous
- id: itp_set
label: Test Pattern
kind: action
command: "(ITP{pattern})"
params:
- name: pattern
type: integer
description: "0=Off, 1=Grid, 2=White, 3=Black, 4=Checkerboard, 5=Color bars, 6=Red (service), 7=Green (service), 8=Blue (service), 9=Yellow (service), 10=Magenta (service), 11=Cyan (service)"
notes: "Patterns 6-11 require Service Mode. Switching away from Grid/Color Bars may take up to 18 seconds."
- id: itp_query
label: Test Pattern Query
kind: query
command: "(ITP?)"
params: []
- id: sst
label: Projector Status (full dump)
kind: query
command: "(SST?)"
params: []
notes: |
Returns a series of (SST!NNN "value" "label") replies:
000 Model Name, 001 Serial Number, 002 Native Resolution, 003 Main Input,
004 Main Signal Format, 005 Main Pixel Clock, 006 Main Sync Type,
007 Main Horz Refresh, 008 Main Vert Refresh, 009 PIP/PBP Input,
010 PIP/PBP Signal Format, 011 PIP/PBP Pixel Clock, 012 PIP/PBP Sync Type,
013 PIP/PBP Horz Refresh, 014 PIP/PBP Vert Refresh, 015 Lamp Power Setting,
016 Current Lamp, 017 Lamp 1 Hours, 018 Lamp 2 Hours, 019 Standby Mode,
020 Lens Lock Setting, 021 IP Address, 022 DHCP.
# Service
- id: cwi_spx2
label: Color Wheel Index (2x speed)
kind: action
command: "(CWI+SPX2{index})"
params:
- name: index
type: integer
description: "Color wheel index value for 2x speed"
notes: Service Mode required.
- id: cwi_spx3
label: Color Wheel Index (3x speed)
kind: action
command: "(CWI+SPX3{index})"
params:
- name: index
type: integer
description: "Color wheel index value for 3x speed"
notes: Service Mode required.
- id: pif_mdln_query
label: Projector Model Name
kind: query
command: "(PIF+MDLN?)"
params: []
notes: Service user required.
- id: pif_snum_query
label: Projector Serial Number
kind: query
command: "(PIF+SNUM?)"
params: []
notes: Service user required.
- id: pif_ners_query
label: Projector Native Resolution
kind: query
command: "(PIF+NERS?)"
params: []
notes: Service user required.
- id: pif_fwvs_query
label: Projector Firmware Version
kind: query
command: "(PIF+FWVS?)"
params: []
notes: Service user required.
- id: pif_cfvs_query
label: Projector Configuration Version
kind: query
command: "(PIF+CFVS?)"
params: []
notes: Service user required.
- id: pif_bcvs_query
label: Projector Boot Code Version
kind: query
command: "(PIF+BCVS?)"
params: []
notes: Service user required.
- id: def
label: Factory Defaults
kind: action
command: "(DEF 111)"
params: []
notes: "Resets all settings. Must send literal '111' to prevent accidental use. Service user required."
- id: uid
label: Enter Service Code
kind: action
command: '(UID"username,password")'
params:
- name: username
type: string
description: "Service username (e.g. 'service')"
- name: password
type: string
description: "Service password (e.g. 'service')"
notes: "Service Mode is turned off when the projector is powered off."
# Serial-only
- id: siv
label: Serial Command Version
kind: query
command: "(SIV?)"
params: []
- id: lce
label: Last Serial Command Error
kind: query
command: "(LCE?)"
params: []
- id: lse
label: Last System Error
kind: query
command: "(LSE?)"
params: []
notes: |
Returns: 1 = lamp did not strike after 5 attempts; 3 = lamp went out unexpectedly;
4 = fan failure; 5 = over temperature.
- id: pwr
label: Power On/Off
kind: action
command: "(PWR{state})"
params:
- name: state
type: integer
description: "0=Power off (Standby Mode), 1=Power on (Lamps On)"
- id: pwr_query
label: Power State Query
kind: query
command: "(PWR?)"
params: []
- id: sns_src0
label: Source Name - VGA1
kind: action
command: '(SNS+SRC0"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src1
label: Source Name - VGA2
kind: action
command: '(SNS+SRC1"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src2
label: Source Name - BNC
kind: action
command: '(SNS+SRC2"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src3
label: Source Name - HDMI1
kind: action
command: '(SNS+SRC3"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src4
label: Source Name - HDMI2
kind: action
command: '(SNS+SRC4"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src5
label: Source Name - Component
kind: action
command: '(SNS+SRC5"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src6
label: Source Name - S-Video
kind: action
command: '(SNS+SRC6"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: sns_src7
label: Source Name - Composite
kind: action
command: '(SNS+SRC7"{name}")'
params:
- name: name
type: string
description: "User-defined source name"
- id: key
label: IR Remote Key-code Entry
kind: action
command: "(KEY{code})"
params:
- name: code
type: integer
description: "Decimal IR keycode. Known codes: POWER=0, TEST=1, SHUTTER=2, FOCUS_LEFT=5, FOCUS_RIGHT=6, ZOOM-=9, ZOOM+=10, LENS H-LEFT=13, LENS H-RIGHT=14, PIP/POP=15, LENS V-DOWN=17, LENS V-UP=18, MENU=19, EXIT=20, GAMMA=23, CONTRAST=24, BRIGHT=25, 1=26..9=34, HELP=35, 0=36, UP=38, LEFT=39, ENTER=40, RIGHT=41, DOWN=42, SWAP=43, AUTO=47, INPUT=48, OSD=49, DISPLAY=64, HOT KEY=65, INFO=66, SIZE=67, LAYOUT=68, KEYSTONE H-LEFT=69, KEYSTONE H-RIGHT=70, KEYSTONE V-UP=71, KEYSTONE V-DOWN=72."
notes: |
Known limitations: Enter key works in menus but not dropdowns; Exit key in a dropdown exits
the dropdown, not the menu. See Appendix-2 in source for full table.
- id: shu_set
label: Shutter Open/Close
kind: action
command: "(SHU{state})"
params:
- name: state
type: integer
description: "0=Open/Shutter off, 1=Closed/Shutter on (displays black screen)"
- id: shu_query
label: Shutter State Query
kind: query
command: "(SHU?)"
params: []
- id: osd_set
label: OSD Show/Hide
kind: action
command: "(OSD{state})"
params:
- name: state
type: integer
description: "0=Hide, 1=Show"
- id: osd_query
label: OSD State Query
kind: query
command: "(OSD?)"
params: []
Feedbacks
# Format: (Code!value) for replies, (Code!value) for subcoded replies
# Examples from SST? reply (one feedback shape per reply row):
- id: power_state
type: enum
values: [on, off]
- id: lamp_state
type: enum
values: [off, lamps_on]
- id: active_source
type: enum
values: [VGA1, VGA2, RGBHV, HDMI1, HDMI2, Component, S-Video, Composite]
- id: signal_format
type: enum
values: [Digital, Analog, ""]
- id: sync_type
type: enum
values: [Separate, Composite, SyncOnGreen, ""]
- id: aspect_ratio
type: string
- id: resolution
type: string
- id: vertical_refresh_hz
type: number
- id: horizontal_refresh_khz
type: number
- id: pixel_clock_mhz
type: number
- id: color_space
type: enum
values: [RGB, REC709, REC601, RGB_Video, Auto]
- id: lamp_power_w
type: integer
- id: current_lamp
type: enum
values: [Lamp1, Lamp2, Both]
- id: lamp1_hours
type: integer
- id: lamp2_hours
type: integer
- id: total_lamp_hours
type: integer
- id: lamp1_reset_count
type: integer
- id: lamp2_reset_count
type: integer
- id: standby_mode
type: enum
values: [one_w, communication]
- id: lens_lock
type: enum
values: [allow, locked]
- id: ip_address
type: string
- id: dhcp
type: enum
values: [on, off]
- id: model_name
type: string
- id: serial_number
type: string
- id: native_resolution
type: string
- id: firmware_version
type: string
- id: configuration_version
type: string
- id: boot_code_version
type: string
- id: last_serial_error
type: string
- id: last_system_error_code
type: integer
notes: "1=strike fail, 3=lamp out, 4=fan fail, 5=over temp (per LSE? reply table)"
- id: shutter_state
type: enum
values: [open, closed]
Variables
# Each R/W command has a settable value and a queryable reply; values listed in Actions.
# Items here are global defaults that the projector retains across commands.
- id: default_baud
type: integer
value: 115200
- id: default_parity
type: enum
values: [none, even, odd]
value: none
- id: default_data_bits
type: integer
value: 8
- id: default_stop_bits
type: integer
value: 1
- id: default_flow_control
type: enum
values: [none, hardware, software]
value: none
- id: default_pin
type: string
value: "12345"
Events
# UNRESOLVED: source does not document unsolicited device-pushed events; all flows are request/reply.
Macros
# UNRESOLVED: source does not describe multi-step sequences.
Safety
confirmation_required_for:
- factory_defaults_reset # source: DEF 111 requires explicit "111" safeguard
- lens_center_calibration # LCB+HOME1 physically moves the lens
interlocks: []
# UNRESOLVED: source does not contain explicit electrical-safety warnings, hazard procedures,
# or high-voltage interlock sequences. Whisper Mode is documented as incompatible with
# High Altitude Mode (narrative, not an interlock) - see Notes.
Notes
Message framing: every command is wrapped in parentheses. A space between code and parameter is optional. Subcodes are appended with + (e.g. (WRP+HKST 50)). The optional # prefix requests a full acknowledgement echo.
Full Acknowledgment: prefixing a SET message with # causes the projector to echo the message as a reply once it has finished processing. This is not needed on REQUEST messages (the data reply is the acknowledgement).
Errors: a malformed command returns a structured error like (ITP) - (65535 00000 ERR00005 "ITP: Too Few Parameters"). Use (LCE?) to retrieve the last serial command error.
System errors: (LSE?) returns a numeric code. 1 = lamp did not strike after 5 attempts; 3 = lamp went out unexpectedly; 4 = fan failure; 5 = over temperature. Other codes not enumerated in source.
Service Mode: a subset of commands (CWI, PIF, DEF, and the service-only test patterns in ITP6..ITP11) require logging in via (UID"service,service") (or another Service account). Service Mode is cleared on power off.
Standby Mode caveat: in PWR+STBM0 (1W Mode) the projector cannot be powered on via UART/WEB/USB — only via the keypad. Use PWR+STBM1 (Communication Mode) if network/serial power-on is required.
Whisper Mode is documented as not compatible with High Altitude Mode — narrative constraint, not enforced as a command-level interlock.
Test pattern timing: switching away from Grid or Color Bars test patterns may take up to 18 seconds (these are non-standard patterns).
Digital Shift requires Digital Zoom to be applied first; otherwise the command is disabled.
The (SST?) status response example in the source references model DWU670-E, but the manual itself is titled "E Series Serial Commands Technical Reference Information" and applies to the family. The "E Series" should be treated as a family rather than a single model.
Provenance
source_domains:
- christiedigital.com
source_urls:
- https://www.christiedigital.com/globalassets/resources/public/020-000372-05-christie-e-series-serial-communications.pdf
retrieved_at: 2026-04-30T04:34:57.871Z
last_checked_at: 2026-06-02T21:41:10.942Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:41:10.942Z
matched_actions: 225
action_count: 225
confidence: medium
summary: "All 225 spec actions found with literal command matches in source; transport parameters verified complete. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "specific model number not stated in source (status reply references DWU670-E). Ethernet port number not stated. Login/auth procedure for \"Service Mode\" is referenced but not fully documented."
- "TCP port number not stated in source"
- "source does not document unsolicited device-pushed events; all flows are request/reply."
- "source does not describe multi-step sequences."
- "source does not contain explicit electrical-safety warnings, hazard procedures,"
- "TCP port number for Ethernet control not stated in source. Specific projector model number (DWU670-E) is one of possibly several E Series models. Service account credentials are not enumerated (only \"service,service\" given as example). IR Remote keycode list ends at keycode 72; completeness of IR keycode table is not guaranteed by the source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0