Summary

RS-232C control protocol for Christie LX-series projectors. Commands are ASCII strings starting with C (execution) or CR (status read), terminated by 0x0D carriage return. Source document is the "LX700 RS232 Codes — Basic Technical Reference" (Rev. 1, 11/08); command set is treated as applicable to the LX1000/900/1200/LW600 family per the family-level spec.

Transport

protocols:
  - serial
serial:
  baud_rate: 19200  # source: "initial setting value is 19200" (9600 also supported, changeable in service mode)
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none
auth:
  type: none  # inferred: no auth procedure in source

Traits

- powerable  # inferred: POWER ON / POWER OFF commands present (C00, C01, C02)
- routable   # inferred: INPUT selection commands present (C05-C08, C23-C25, C33-C35, C50-C53)
- queryable  # inferred: Status Read Commands present (CR0-CR7)
- levelable  # inferred: VOLUME +/-, BRIGHTNESS +/-, ZOOM +/-, FOCUS +/- present

Actions

- id: power_on
  label: Power ON
  kind: action
  command: "C00"  # ASCII, terminated by 0x0D
  params: []

- id: power_off_quick
  label: Power OFF (Quick)
  kind: action
  command: "C01"
  params: []

- id: power_off
  label: Power OFF
  kind: action
  command: "C02"
  params: []

- id: input_1
  label: INPUT 1
  kind: action
  command: "C05"
  params: []

- id: input_2
  label: INPUT 2
  kind: action
  command: "C06"
  params: []

- id: input_3
  label: INPUT 3
  kind: action
  command: "C07"
  params: []

- id: input_network
  label: NETWORK
  kind: action
  command: "C08"
  params: []

- id: volume_up
  label: Volume Up
  kind: action
  command: "C09"
  params: []

- id: volume_down
  label: Volume Down
  kind: action
  command: "C0A"
  params: []

- id: sound_mute_on
  label: Sound Mute On
  kind: action
  command: "C0B"
  params: []

- id: sound_mute_off
  label: Sound Mute Off
  kind: action
  command: "C0C"
  params: []

- id: video_mute_on
  label: Video Mute On
  kind: action
  command: "C0D"
  params: []

- id: video_mute_off
  label: Video Mute Off
  kind: action
  command: "C0E"
  params: []

- id: screen_normal_size
  label: Screen Normal Size (4:3)
  kind: action
  command: "C0F"
  params: []

- id: screen_wide_size
  label: Screen Wide Size (16:9)
  kind: action
  command: "C10"
  params: []

- id: menu_on
  label: Menu On
  kind: action
  command: "C1C"
  params: []

- id: menu_off
  label: Menu Off
  kind: action
  command: "C1D"
  params: []

- id: display_clear
  label: Display Clear
  kind: action
  command: "C1E"
  params: []

- id: brightness_up
  label: Brightness +
  kind: action
  command: "C20"
  params: []

- id: brightness_down
  label: Brightness -
  kind: action
  command: "C21"
  params: []

- id: input_2_video
  label: Input 2 Video
  kind: action
  command: "C23"
  params: []

- id: input_2_yuv
  label: Input 2 Y,Pb/Cb,Pr/Cr
  kind: action
  command: "C24"
  params: []

- id: input_2_rgb
  label: Input 2 RGB
  kind: action
  command: "C25"
  params: []

- id: image
  label: Image
  kind: action
  command: "C27"
  params: []

- id: on_start_enable
  label: On Start Enable
  kind: action
  command: "C28"
  params: []

- id: on_start_disable
  label: On Start Disable
  kind: action
  command: "C29"
  params: []

- id: power_management_ready
  label: Power Management Ready
  kind: action
  command: "C2A"
  params: []

- id: power_management_off
  label: Power Management Off
  kind: action
  command: "C2B"
  params: []

- id: power_management_shutdown
  label: Power Management Shutdown
  kind: action
  command: "C2E"
  params: []

- id: dzoom_up
  label: D.Zoom +
  kind: action
  command: "C30"
  params: []

- id: dzoom_down
  label: D.Zoom -
  kind: action
  command: "C31"
  params: []

- id: input_3_video
  label: Input 3 Video
  kind: action
  command: "C33"
  params: []

- id: input_3_svideo
  label: Input 3 S-Video
  kind: action
  command: "C34"
  params: []

- id: input_3_yuv
  label: Input 3 Y,Pb/Cb,Pr/Cr
  kind: action
  command: "C35"
  params: []

- id: pointer_right
  label: Pointer Right
  kind: action
  command: "C3A"
  params: []

- id: pointer_left
  label: Pointer Left
  kind: action
  command: "C3B"
  params: []

- id: pointer_up
  label: Pointer Up
  kind: action
  command: "C3C"
  params: []

- id: pointer_down
  label: Pointer Down
  kind: action
  command: "C3D"
  params: []

- id: enter
  label: Enter
  kind: action
  command: "C3F"
  params: []

- id: freeze_on
  label: Freeze On
  kind: action
  command: "C43"
  params: []

- id: freeze_off
  label: Freeze Off
  kind: action
  command: "C44"
  params: []

- id: zoom_down
  label: Zoom -
  kind: action
  command: "C46"
  params: []

- id: zoom_up
  label: Zoom +
  kind: action
  command: "C47"
  params: []

- id: focus_down
  label: Focus -
  kind: action
  command: "C4A"
  params: []

- id: focus_up
  label: Focus +
  kind: action
  command: "C4B"
  params: []

- id: color_management
  label: Color Management
  kind: action
  command: "C4E"
  params: []

- id: input_1_analog_rgb
  label: Input 1 Analog RGB
  kind: action
  command: "C50"
  params: []

- id: input_1_scart
  label: Input 1 SCART
  kind: action
  command: "C51"
  params: []

- id: input_1_dvi_pc
  label: Input 1 DVI (PC Digital)
  kind: action
  command: "C52"
  params: []

- id: input_1_dvi_hdcp
  label: Input 1 DVI (AV HDCP)
  kind: action
  command: "C53"
  params: []

- id: lens_shift_up
  label: Lens Shift Up
  kind: action
  command: "C5D"
  params: []

- id: lens_shift_down
  label: Lens Shift Down
  kind: action
  command: "C5E"
  params: []

- id: lens_shift_left
  label: Lens Shift Left
  kind: action
  command: "C5F"
  params: []

- id: lens_shift_right
  label: Lens Shift Right
  kind: action
  command: "C60"
  params: []

- id: auto_pc_adj
  label: Auto PC Adj.
  kind: action
  command: "C89"
  params: []

- id: presentation_timer
  label: Presentation Timer
  kind: action
  command: "C8A"
  params: []

- id: keystone_upper
  label: Keystone (reduce upper part)
  kind: action
  command: "C8E"
  params: []

- id: keystone_lower
  label: Keystone (reduce lower part)
  kind: action
  command: "C8F"
  params: []

- id: keystone_right
  label: Keystone (reduce right side)
  kind: action
  command: "C90"
  params: []

- id: keystone_left
  label: Keystone (reduce left side)
  kind: action
  command: "C91"
  params: []

- id: status_read
  label: Status Read
  kind: query
  command: "CR0"
  params: []

- id: input_mode_read
  label: Input Mode Read
  kind: query
  command: "CR1"
  params: []

- id: lamp_time_read
  label: Lamp Time Read
  kind: query
  command: "CR3"
  params: []

- id: setting_read
  label: Setting Read (Screen)
  kind: query
  command: "CR4"
  params: []

- id: temp_read
  label: Temperature Read
  kind: query
  command: "CR6"
  params: []

- id: lamp_mode_read
  label: Lamp Mode Read
  kind: query
  command: "CR7"
  params: []

Feedbacks

- id: power_status
  type: enum
  values: [power_on, standby, countdown, cooling_down, power_failure, cooling_abnormal_temp, standby_abnormal_temp, power_save_cooling, power_save, cooling_lamp_failure, standby_lamp_failure, cooling_shutter_mgmt, standby_shutter_mgmt]
  description: |
    Returned by CR0. Encoding:
    "00" = Power ON
    "80" = Standby
    "40" = Countdown in process
    "20" = Cooling Down in process
    "10" = Power Failure
    "28" = Cooling Down in process due to Abnormal Temperature
    "88" = Standby after Cooling Down due to Abnormal Temperature
    "24" = Power-Save Cooling Down in process
    "04" = Power Save
    "21" = Cooling Down in process after OFF due to Lamp Failure
    "81" = Standby after Cooling Down due to Lamp Failure
    "2C" = Cooling Down in process after OFF due to Shutter Management
    "8C" = Standby after Cooling Down due to Shutter Management

- id: input_mode
  type: enum
  values: [input_1, input_2, input_3, input_4_network]
  description: |
    Returned by CR1. "1"=Input 1, "2"=Input 2, "3"=Input 3,
    "4"=Input 4 (Networking-capable models only).

- id: lamp_hours
  type: integer
  description: |
    Returned by CR3. 5-digit value representing total lamp running hours
    multiplied by a model-specific coefficient. Example: "00410" = 410 hours.
    # UNRESOLVED: per-model coefficient not stated in source

- id: screen_setting
  type: enum
  values: [normal, rear_ceiling, rear, ceiling]
  description: |
    Returned by CR4. "11"=Normal, "10"=Rear+Ceiling (top/bottom reversed),
    "01"=Rear (left/right reversed), "00"=Ceiling (both reversed).

- id: temperature_sensors
  type: string
  description: |
    Returned by CR6. Three space-separated values "%1 %2 %3" (basic format " 00.0").
    Negative values start with "-". Hardware-fault readings start with "E".

- id: lamp_mode
  type: enum
  values: [lamp_on, lamp_off]
  description: |
    Returned by CR7. "00"=Lamp ON, "01"=Lamp OFF.

Variables

# UNRESOLVED: source does not document a generic settable-parameter channel
# distinct from the discrete action set above.

Events

# UNRESOLVED: source does not document unsolicited notifications / async events.

Macros

# UNRESOLVED: source does not describe multi-step sequences.

Safety

confirmation_required_for:
  - power_off  # UNRESOLVED: only "C02" implies confirmation ("Power OFF?" message); C01 quick-off bypasses it
interlocks:
  - status: cooling_down
    behavior: "No Functional Execution Commands accepted; only ACK returned."
  - status: abnormal_temperature
    behavior: "No Functional Execution Commands accepted; only ACK returned."
  - status: abnormal_power
    behavior: "No Functional Execution Commands accepted; only ACK returned."
  - status: abnormal_filter
    behavior: "No Functional Execution Commands accepted; only ACK returned."
  - status: power_save_cooling
    behavior: "No Functional Execution Commands accepted; only ACK returned."
  - status: cooling_lamp_failure
    behavior: "No Functional Execution Commands accepted; only ACK returned."
initialization_window:
  duration: "~7 seconds after AC power-on"
  behavior: "Commands not processed; do not issue any command during this window."
input_switching_lockout:
  duration: "5 seconds from start of INPUT switch action"
  behavior: "ACK returned but command not executed (status reads are honored after 500ms)."

Notes

Command format: "C" + two-hex-chars + 0x0D for execution; "CR" + one-char + 0x0D for status read. All command characters must be uppercase A–Z. Successful execution returns ACK CR (0x06 0x0D); undecodable commands return ? CR. Pipelining interval: 100ms for VOLUME +/-, ZOOM UP/DOWN, FOCUS UP/DOWN, LENS-SHIFT UP/DOWN/LEFT/RIGHT; 500ms for all others. Functional execution commands hold a 120ms execution window per pipelined repeat. Status read pipeline: ≥500ms between reads. "C02" (power off) requires double-press semantics: first send displays "Power OFF?" confirmation; second send executes the off. "C01" is the quick-off variant that bypasses the confirmation. C28/C29/C2A/C2B/C2E write to EEPROM and persist across power cycles. Cooling-down status: ~90s of fan spin after power off before standby (model-dependent).

Provenance

source_domains:
  - preproduction.christiedigital.com
  - christiedigital.com
source_urls:
  - https://preproduction.christiedigital.com/globalassets/resources/public/020-000139-01-christie-lx700-rs232-serial-communications.pdf
  - https://www.christiedigital.com/globalassets/resources/public/020-000141-christie-lx1000-user-manual.pdf
  - https://www.christiedigital.com/globalassets/resources/public/020-000046-02-lw600-rs232-expnd-codes.pdf
  - https://www.christiedigital.com/globalassets/resources/public/020-000053-02-christie-lx900-lw600-user-manual.pdf
retrieved_at: 2026-05-14T15:02:49.722Z
last_checked_at: 2026-06-02T21:41:12.642Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T21:41:12.642Z
matched_actions: 66
action_count: 66
confidence: medium
summary: "All 66 spec action ids matched literally in source; transport parameters (19200 baud, 8 data bits, no parity, 1 stop bit) verified; no commands extra. (8 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "source document is titled for LX700 only; applicability to LX1000/900/1200/LW600 assumed by family grouping and not explicitly stated in this excerpt."
- "per-model coefficient not stated in source"
- "source does not document a generic settable-parameter channel"
- "source does not document unsolicited notifications / async events."
- "source does not describe multi-step sequences."
- "only \"C02\" implies confirmation (\"Power OFF?\" message); C01 quick-off bypasses it"
- "per-model lamp-time coefficient, exact model-by-model applicability of the LX700 command set to LX1000/900/1200/LW600, and any firmware-version gating of individual commands are not stated in this source."
- "the 19200 baud \"initial setting\" is taken as the default; 9600 fallback is supported only via service-mode change. The on-wire default at first power-on is 19200 per the source."

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0