Summary
Canon 4K600STZ is a 4K laser projector controllable via RS-232C serial or LAN (TCP/IP). The command protocol uses ASCII text terminated by CR, with set commands (CMD=VALUE), reference queries (GET=CMD), and typed responses (i:OK, g:CMD=VALUE, e:CODE DESCRIPTION). 79 commands cover power, input routing, image adjustment, audio, lens control, and diagnostics.
Transport
protocols:
- tcp
- serial
addressing:
port: 33336
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from POWER=ON/OFF commands
- queryable # inferred from GET= query commands
- routable # inferred from INPUT command
- levelable # inferred from AVOL, BRI, CONT, HUE, SAT, SHARP, GAMMA, LIGHTLV commands
Actions
- id: power_on
label: Power On
kind: action
command: POWER=ON
response: i:OK
params: []
- id: power_off
label: Power Off
kind: action
command: POWER=OFF
response: i:OK
params: []
- id: set_6axis_adj
label: 6-Axis Color Adjustment
kind: action
command: "6AXADJ={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
description: Enable or disable 6-axis color adjustment
- id: set_6axis_r
label: 6-Axis Red Adjustment
kind: action
command: "6AXR={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
description: Red hue
- name: saturation
type: integer
min: -20
max: 20
description: Red saturation
- name: brightness
type: integer
min: -20
max: 20
description: Red brightness
- id: set_6axis_g
label: 6-Axis Green Adjustment
kind: action
command: "6AXG={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
- name: saturation
type: integer
min: -20
max: 20
- name: brightness
type: integer
min: -20
max: 20
- id: set_6axis_b
label: 6-Axis Blue Adjustment
kind: action
command: "6AXB={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
- name: saturation
type: integer
min: -20
max: 20
- name: brightness
type: integer
min: -20
max: 20
- id: set_6axis_c
label: 6-Axis Cyan Adjustment
kind: action
command: "6AXC={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
- name: saturation
type: integer
min: -20
max: 20
- name: brightness
type: integer
min: -20
max: 20
- id: set_6axis_m
label: 6-Axis Magenta Adjustment
kind: action
command: "6AXM={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
- name: saturation
type: integer
min: -20
max: 20
- name: brightness
type: integer
min: -20
max: 20
- id: set_6axis_y
label: 6-Axis Yellow Adjustment
kind: action
command: "6AXY={hue},{saturation},{brightness}"
response: i:OK
params:
- name: hue
type: integer
min: -20
max: 20
- name: saturation
type: integer
min: -20
max: 20
- name: brightness
type: integer
min: -20
max: 20
- id: set_ambient_adj
label: Ambient Light Correction
kind: action
command: "AMBADJ={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_ambient_level
label: Ambient Light Level
kind: action
command: "AMBLEVEL={level}"
response: i:OK
params:
- name: level
type: enum
values: [WEAK, STRONG]
- id: set_ambient_type
label: Ambient Light Type
kind: action
command: "AMBTYPE={type}"
response: i:OK
params:
- name: type
type: enum
values: [TG, FL]
description: TG=tungsten, FL=fluorescent
- id: set_audio_sel_dvi1
label: DVI-1 Audio Terminal Selection
kind: action
command: "ASELD1={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1", OFF]
description: "1=Audio In 1, OFF=off"
- id: set_audio_sel_dvi2
label: DVI-2 Audio Terminal Selection
kind: action
command: "ASELD2={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1", OFF]
- id: set_audio_sel_dvi3
label: DVI-3 Audio Terminal Selection
kind: action
command: "ASELD3={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1"]
- id: set_audio_sel_dvi4
label: DVI-4 Audio Terminal Selection
kind: action
command: "ASELD4={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1"]
- id: set_audio_sel_dvix2
label: DVI 1x2 Audio Terminal Selection
kind: action
command: "ASELDX2={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1"]
- id: set_audio_sel_dvix4
label: DVI 2x2/1x4 Audio Terminal Selection
kind: action
command: "ASELDX4={source}"
response: i:OK
params:
- name: source
type: enum
values: ["1"]
- id: set_audio_sel_hdmi1
label: HDMI-1 Audio Terminal Selection
kind: action
command: "ASELH1={source}"
response: i:OK
params:
- name: source
type: enum
values: [H1, "1"]
description: "H1=HDMI1 audio, 1=Audio In 1"
- id: set_audio_sel_hdmi2
label: HDMI-2 Audio Terminal Selection
kind: action
command: "ASELH2={source}"
response: i:OK
params:
- name: source
type: enum
values: [H2, OFF]
- id: set_audio_sel_hdmix2
label: HDMIx2 Audio Terminal Selection
kind: action
command: "ASELHX2={source}"
response: i:OK
params:
- name: source
type: enum
values: [H1, H2, "1"]
- id: set_aspect
label: Aspect Ratio
kind: action
command: "ASPECT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [AUTO, TRUE]
- id: set_volume
label: Audio Volume
kind: action
command: "AVOL={level}"
response: i:OK
params:
- name: level
type: integer
min: 0
max: 20
- id: set_blank
label: Screen Blank
kind: action
command: "BLANK={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_brightness
label: Brightness
kind: action
command: "BRI={value}"
response: i:OK
params:
- name: value
type: integer
min: -20
max: 20
- id: set_colorimetry
label: Colorimetry
kind: action
command: "COLMTR={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [AUTO, BT2020, BT709]
- id: set_color_temp
label: Color Temperature
kind: action
command: "COLOR_TEMP={value}"
response: i:OK
params:
- name: value
type: integer
min: -17
max: 21
- id: set_contrast
label: Contrast
kind: action
command: "CONT={value}"
response: i:OK
params:
- name: value
type: integer
min: -20
max: 20
- id: set_date_format
label: Date Display Format
kind: action
command: "DATE_FORMAT={format}"
response: i:OK
params:
- name: format
type: enum
values: [YMD, MDY, DMY]
- id: set_date_time
label: Date/Time Setting
kind: action
command: "DATE_TIME={year},{month},{day},{hour},{minute},{second}"
response: i:OK
params:
- name: year
type: integer
- name: month
type: integer
- name: day
type: integer
- name: hour
type: integer
- name: minute
type: integer
- name: second
type: integer
- id: set_dynamic_contrast
label: Dynamic Contrast
kind: action
command: "DCONT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [OFF, MODE1, MODE2, MODE3]
- id: set_dynamic_gamma
label: Dynamic Gamma
kind: action
command: "DGAMMA={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [WEAK]
- id: set_fine_gamma_r
label: Fine Gamma R
kind: action
command: "FINE_GAMMA_R={p1},{p2},...,{pn}"
response: i:OK
params:
- name: points
type: string
description: Comma-separated values, 0-1024 each
- id: set_fine_gamma_g
label: Fine Gamma G
kind: action
command: "FINE_GAMMA_G={p1},{p2},...,{pn}"
response: i:OK
params:
- name: points
type: string
description: Comma-separated values, 0-1024 each
- id: set_fine_gamma_b
label: Fine Gamma B
kind: action
command: "FINE_GAMMA_B={p1},{p2},...,{pn}"
response: i:OK
params:
- name: points
type: string
description: Comma-separated values, 0-1024 each
- id: set_filter_warning
label: Air Filter Warning
kind: action
command: "FLTWRN={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_freeze
label: Screen Freeze
kind: action
command: "FREEZE={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_gamma
label: Gamma Adjustment
kind: action
command: "GAMMA={value}"
response: i:OK
params:
- name: value
type: integer
min: -10
max: 10
- id: set_hdmi_edid
label: HDMI EDID Mode
kind: action
command: "HDMI{port}_EDID={mode}"
response: i:OK
params:
- name: port
type: integer
description: HDMI port number (1 or 2)
- name: mode
type: enum
values: [WIDE, HCOMP]
description: "WIDE=4K 60Hz, HCOMP=high compatibility"
- id: set_hdr
label: HDR Setting
kind: action
command: "HDR={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [AUTO, OFF, ON]
- id: set_hdr_range
label: HDR Range
kind: action
command: "HDR_RANGE={value}"
response: i:OK
params:
- name: value
type: integer
- id: set_high_temp_display
label: High Temperature Caution Display
kind: action
command: "HTMPINF={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON]
- id: set_hue
label: Hue
kind: action
command: "HUE={value}"
response: i:OK
params:
- name: value
type: integer
min: -20
max: 20
- id: set_image_mode
label: Image Mode
kind: action
command: "IMAGE={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [STANDARD, PRESENTATION, PHOTO_SRGB, DCM_SIM, DYNAMIC, VIDEO, USER_1, USER_2, USER_3]
- id: set_image_flip
label: Flip Display
kind: action
command: "IMAGEFLIP={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [NONE, CEILING, REAR, REAR_CEILING]
- id: set_input
label: Input Signal Selection
kind: action
command: "INPUT={source}"
response: i:OK
params:
- name: source
type: enum
values: [HDMI1, HDMI2, HDMI1X2, D-RGB1, D-RGB2, D-RGB3, D-RGB4, D-RGB1X2, D-RGB2X2, D-RGB1X4]
- id: set_iris
label: Iris Setting
kind: action
command: "IRIS={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [OPEN, CLOSE1, CLOSE2, CLOSE3]
- id: set_key_repeat
label: Key Repeat
kind: action
command: "KREP={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_light_mode
label: Light Source Mode
kind: action
command: "LIGHT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [NORMAL, SILENT1, SILENT2, CUSTOM]
- id: set_light_level
label: Light Level
kind: action
command: "LIGHTLV={value}"
response: i:OK
params:
- name: value
type: integer
description: "Setting value multiplied by 10 (e.g. 400 = 40.0). Range varies by operation mode: Normal 200-1000, Fixed brightness 200-640, Longduration 1 200-640, Longduration 2 200-400"
- id: set_lens_position_load
label: Lens Position Load
kind: action
command: "LPOSLD={position}"
response: i:OK
params:
- name: position
type: enum
values: ["1", "2", "3"]
- id: set_main_panel
label: Unit Control Panel Emulation
kind: action
command: "MAIN={button}"
response: i:OK
params:
- name: button
type: enum
values: [POWER, POWER_OFF, MENU, INPUT, AUTOPC, KEYSTONE, UP, "UP+REP", DOWN, "DOWN+REP", LEFT, "LEFT+REP", RIGHT, "RIGHT+REP", OK]
description: "+REP = button press start; send *-REP to end press"
- id: set_memory_color_flesh
label: Memory Color Adjustment (Flesh)
kind: action
command: "MEMF={value}"
response: i:OK
params:
- name: value
type: string
- id: set_memory_color_green
label: Memory Color Adjustment (Green)
kind: action
command: "MEMG={value}"
response: i:OK
params:
- name: value
type: string
- id: set_memory_color_sky
label: Memory Color Adjustment (Sky)
kind: action
command: "MEMS={value}"
response: i:OK
params:
- name: value
type: string
- id: set_menu_rotation
label: Menu Rotation
kind: action
command: "MENU_RT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [AUTO, NONE, 90L, 90R]
- id: set_mute
label: Audio Mute
kind: action
command: "MUTE={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_noise_reduction
label: Random Noise Reduction
kind: action
command: "NR={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [MIDDLE]
- id: set_mpeg_noise_reduction
label: MPEG Noise Reduction
kind: action
command: "NRMPG={mode}"
response: i:OK
params:
- name: mode
type: string
- id: set_operation_mode
label: Operation Mode
kind: action
command: "OPMODE={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [NORMAL, CONST, LONG1, LONG2]
description: "CONST=Fixed brightness, LONG1=Longduration 1, LONG2=Longduration 2"
- id: set_quick_start
label: High-Speed Start
kind: action
command: "QSTRT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_remote_control
label: Remote Control Emulation
kind: action
command: "RC={button}"
response: i:OK
params:
- name: button
type: enum
values: [POWER, POWER_OFF, MENU, EXIT, INPUT, DPC, APC1, APC2, HDMI, COMP, ASPECT, AUTOPC, UP, "UP+REP", DOWN, "DOWN+REP", LEFT, "LEFT+REP", RIGHT, "RIGHT+REP", OK, FOCUS, ZOOM, SHIFT, TPTN, KEYSTONE, NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, DZOOM_P, "DZOOM_P+REP", DZOOM_M, "DZOOM_M+REP", VOL_P, "VOL_P+REP", VOL_M, "VOL_M+REP", MUTE, FN, IMAGE, FREEZE, BLANK, GAMMA, SPLIT, ECO]
description: "+REP = button press start; send *-REP to end press"
- id: set_rgb_gain
label: RGB Gain Adjustment
kind: action
command: "RGBGAIN={r},{g},{b}"
response: i:OK
params:
- name: r
type: integer
min: -60
max: 60
- name: g
type: integer
min: -60
max: 60
- name: b
type: integer
min: -60
max: 60
- id: set_rgb_offset
label: RGB Offset Adjustment
kind: action
command: "RGBOFFSET={r},{g},{b}"
response: i:OK
params:
- name: r
type: integer
min: -60
max: 60
- name: g
type: integer
min: -60
max: 60
- name: b
type: integer
min: -60
max: 60
- id: set_saturation
label: Color Saturation
kind: action
command: "SAT={value}"
response: i:OK
params:
- name: value
type: integer
min: -20
max: 20
- id: set_save_image_profile
label: Save User Image Profile
kind: action
command: "SAVEIMGPROF={target}"
response: i:OK
params:
- name: target
type: enum
values: [USER_1, USER_2, USER_3, DEL_ALL]
- id: set_sharpness
label: Sharpness
kind: action
command: "SHARP={value}"
response: i:OK
params:
- name: value
type: integer
min: -10
max: 10
- id: set_signal_message
label: Input Status Display
kind: action
command: "SIGMSG={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [ON, OFF]
- id: set_sntp
label: SNTP Setting
kind: action
command: "SNTP={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [OFF, IPV4, IPV6]
- id: set_test_pattern
label: Test Pattern
kind: action
command: "TPTN={pattern}"
response: i:OK
params:
- name: pattern
type: enum
values: [CB1, SSH1, SSH2, SSH3, SSV1, SSV2, SSV3, RTF1, RTF2, RTF3, RTF4, RTH1, RTH2, RTH3, RTH4, SSC1, SSC2, CKR1, CKR2, MUL1, MUL2, CHR1, FCS1, BDR1, CRS1, CRS2, CRS3, DCM1, OFF]
- id: set_trigger_out
label: Trigger Out Setting
kind: action
command: "TRGOUT={mode}"
response: i:OK
params:
- name: mode
type: enum
values: [OFF, POWER]
# --- Query-only commands (reference/inquiry), source rows 26,32,61,63,68,73,74,76,77 ---
- id: query_command_version
label: User Command Version Inquiry
kind: query
command: GET=COMVER
response: 'g:COMVER="<version>"'
params: []
- id: query_error_info
label: Error Information Inquiry
kind: query
command: GET=ERR
response: g:ERR=<ErrorID>
params: []
- id: query_usage_time
label: Projector Usage Time Inquiry
kind: query
command: GET=PJUSGT
response: g:PJUSGT=<hours>
params: []
- id: query_product_code
label: Product Name Inquiry
kind: query
command: GET=PRODCODE
response: 'g:PRODCODE="<name>"'
params: []
- id: query_firmware_version
label: Firmware Version Inquiry
kind: query
command: GET=ROMVER
response: 'g:ROMVER="<version>"'
params: []
- id: query_signal_info
label: Displayed Signal Information Inquiry
kind: query
command: GET=SIGNAL_INFO
response: 'g:SIGNAL_INFO="<info>"'
params: []
- id: query_signal_status
label: Signal Detection Inquiry
kind: query
command: GET=SIGNALSTATUS
response: g:SIGNALSTATUS=<status>
params: []
- id: query_temperature
label: Temperature Sensor Value Inquiry
kind: query
command: GET=TEMP
response: g:TEMP=<count>,<value1>,...,<valueN>
params: []
- id: query_time_zone
label: Time Zone Setting Reference
kind: query
command: GET=TIME_ZONE
response: 'g:TIME_ZONE="<zone>"'
params: []
Feedbacks
- id: power_state
label: Power State
query: GET=POWER
response_prefix: "g:POWER="
type: enum
values: [OFF, OFF2ON, ON, ON2PMM, PMM, PMM2ON, ON2OFF]
- id: 6axis_adj_state
label: 6-Axis Adjustment State
query: GET=6AXADJ
response_prefix: "g:6AXADJ="
type: enum
values: [ON, OFF]
- id: 6axis_r_values
label: 6-Axis Red Values
query: GET=6AXR
response_prefix: "g:6AXR="
type: string
description: "Comma-separated hue,saturation,brightness (-20 to 20)"
- id: 6axis_g_values
label: 6-Axis Green Values
query: GET=6AXG
response_prefix: "g:6AXG="
type: string
- id: 6axis_b_values
label: 6-Axis Blue Values
query: GET=6AXB
response_prefix: "g:6AXB="
type: string
- id: 6axis_c_values
label: 6-Axis Cyan Values
query: GET=6AXC
response_prefix: "g:6AXC="
type: string
- id: 6axis_m_values
label: 6-Axis Magenta Values
query: GET=6AXM
response_prefix: "g:6AXM="
type: string
- id: 6axis_y_values
label: 6-Axis Yellow Values
query: GET=6AXY
response_prefix: "g:6AXY="
type: string
- id: ambient_adj_state
label: Ambient Light Correction State
query: GET=AMBADJ
response_prefix: "g:AMBADJ="
type: enum
values: [ON, OFF]
- id: ambient_level
label: Ambient Light Level
query: GET=AMBLEVEL
response_prefix: "g:AMBLEVEL="
type: enum
values: [WEAK, STRONG]
- id: ambient_type
label: Ambient Light Type
query: GET=AMBTYPE
response_prefix: "g:AMBTYPE="
type: enum
values: [TG, FL]
- id: audio_sel_dvi1
label: DVI-1 Audio Selection
query: GET=ASELD1
response_prefix: "g:ASELD1="
type: string
- id: audio_sel_dvi2
label: DVI-2 Audio Selection
query: GET=ASELD2
response_prefix: "g:ASELD2="
type: string
- id: audio_sel_dvi3
label: DVI-3 Audio Selection
query: GET=ASELD3
response_prefix: "g:ASELD3="
type: string
- id: audio_sel_dvi4
label: DVI-4 Audio Selection
query: GET=ASELD4
response_prefix: "g:ASELD4="
type: string
- id: audio_sel_dvix2
label: DVI 1x2 Audio Selection
query: GET=ASELDX2
response_prefix: "g:ASELDX2="
type: string
- id: audio_sel_dvix4
label: DVI 2x2/1x4 Audio Selection
query: GET=ASELDX4
response_prefix: "g:ASELDX4="
type: string
- id: audio_sel_hdmi1
label: HDMI-1 Audio Selection
query: GET=ASELH1
response_prefix: "g:ASELH1="
type: string
- id: audio_sel_hdmi2
label: HDMI-2 Audio Selection
query: GET=ASELH2
response_prefix: "g:ASELH2="
type: string
- id: audio_sel_hdmix2
label: HDMIx2 Audio Selection
query: GET=ASELHX2
response_prefix: "g:ASELHX2="
type: string
- id: aspect
label: Aspect Ratio
query: GET=ASPECT
response_prefix: "g:ASPECT="
type: enum
values: [AUTO, TRUE]
- id: volume
label: Audio Volume
query: GET=AVOL
response_prefix: "g:AVOL="
type: integer
min: 0
max: 20
- id: blank_state
label: Blank State
query: GET=BLANK
response_prefix: "g:BLANK="
type: enum
values: [ON, OFF]
- id: brightness
label: Brightness
query: GET=BRI
response_prefix: "g:BRI="
type: integer
min: -20
max: 20
- id: colorimetry
label: Colorimetry
query: GET=COLMTR
response_prefix: "g:COLMTR="
type: enum
values: [AUTO, BT2020, BT709]
- id: color_temp
label: Color Temperature
query: GET=COLOR_TEMP
response_prefix: "g:COLOR_TEMP="
type: integer
min: -17
max: 21
- id: command_version
label: User Command Version
query: GET=COMVER
response_prefix: "g:COMVER="
type: string
description: 'Version string e.g. "01.1234"'
- id: contrast
label: Contrast
query: GET=CONT
response_prefix: "g:CONT="
type: integer
min: -20
max: 20
- id: date_format
label: Date Display Format
query: GET=DATE_FORMAT
response_prefix: "g:DATE_FORMAT="
type: enum
values: [YMD, MDY, DMY]
- id: date_time
label: Date/Time
query: GET=DATE_TIME
response_prefix: "g:DATE_TIME="
type: string
description: "Comma-separated year,month,day,hour,minute,second"
- id: dynamic_contrast
label: Dynamic Contrast
query: GET=DCONT
response_prefix: "g:DCONT="
type: enum
values: [OFF, MODE1, MODE2, MODE3]
- id: dynamic_gamma
label: Dynamic Gamma
query: GET=DGAMMA
response_prefix: "g:DGAMMA="
type: enum
values: [WEAK]
- id: error_status
label: Error Status
query: GET=ERR
response_prefix: "g:ERR="
type: enum
values: [NO_ERROR, ABNORMAL_TEMPERATURE, FAULTY_LIGHT, FAULTY_COOLING_FAN, FAULTY_POWER_SUPPLY, FAULTY_AIR_FILTER, FAULTY_POWER_ZOOM, FAULTY_POWER_FOCUS, FAULTY_POWER_LENS_SHIFT, FAULTY_LENS_SHIFT_CONNECTOR]
- id: fine_gamma_r
label: Fine Gamma R
query: GET=FINE_GAMMA_R
response_prefix: "g:FINE_GAMMA_R="
type: string
description: "Comma-separated values 0-1024"
- id: fine_gamma_g
label: Fine Gamma G
query: GET=FINE_GAMMA_G
response_prefix: "g:FINE_GAMMA_G="
type: string
- id: fine_gamma_b
label: Fine Gamma B
query: GET=FINE_GAMMA_B
response_prefix: "g:FINE_GAMMA_B="
type: string
- id: filter_warning
label: Air Filter Warning
query: GET=FLTWRN
response_prefix: "g:FLTWRN="
type: enum
values: [ON, OFF]
- id: freeze_state
label: Freeze State
query: GET=FREEZE
response_prefix: "g:FREEZE="
type: enum
values: [ON, OFF]
- id: gamma
label: Gamma Adjustment
query: GET=GAMMA
response_prefix: "g:GAMMA="
type: integer
min: -10
max: 10
- id: hdmi_edid
label: HDMI EDID Mode
query: "GET=HDMI{port}_EDID"
response_prefix: "g:HDMI"
type: enum
values: [WIDE, HCOMP]
- id: hdr_state
label: HDR Setting
query: GET=HDR
response_prefix: "g:HDR="
type: enum
values: [AUTO, OFF, ON]
- id: hdr_range
label: HDR Range
query: GET=HDR_RANGE
response_prefix: "g:HDR_RANGE="
type: integer
- id: high_temp_display
label: High Temperature Caution Display
query: GET=HTMPINF
response_prefix: "g:HTMPINF="
type: enum
values: [ON]
- id: hue
label: Hue
query: GET=HUE
response_prefix: "g:HUE="
type: integer
min: -20
max: 20
- id: image_mode
label: Image Mode
query: GET=IMAGE
response_prefix: "g:IMAGE="
type: enum
values: [STANDARD, PRESENTATION, PHOTO_SRGB, DCM_SIM, DYNAMIC, VIDEO, USER_1, USER_2, USER_3]
- id: image_flip
label: Image Flip
query: GET=IMAGEFLIP
response_prefix: "g:IMAGEFLIP="
type: enum
values: [NONE, CEILING, REAR, REAR_CEILING]
- id: input_source
label: Input Source
query: GET=INPUT
response_prefix: "g:INPUT="
type: enum
values: [HDMI1, HDMI2, HDMI1X2, D-RGB1, D-RGB2, D-RGB3, D-RGB4, D-RGB1X2, D-RGB2X2, D-RGB1X4]
- id: iris
label: Iris Setting
query: GET=IRIS
response_prefix: "g:IRIS="
type: enum
values: [OPEN, CLOSE1, CLOSE2, CLOSE3]
- id: key_repeat
label: Key Repeat
query: GET=KREP
response_prefix: "g:KREP="
type: enum
values: [ON, OFF]
- id: light_mode
label: Light Source Mode
query: GET=LIGHT
response_prefix: "g:LIGHT="
type: enum
values: [NORMAL, SILENT1, SILENT2, CUSTOM]
- id: light_level
label: Light Level
query: GET=LIGHTLV
response_prefix: "g:LIGHTLV="
type: integer
- id: memory_color_flesh
label: Memory Color (Flesh)
query: GET=MEMF
response_prefix: "g:MEMF="
type: string
- id: memory_color_green
label: Memory Color (Green)
query: GET=MEMG
response_prefix: "g:MEMG="
type: string
- id: memory_color_sky
label: Memory Color (Sky)
query: GET=MEMS
response_prefix: "g:MEMS="
type: string
- id: menu_rotation
label: Menu Rotation
query: GET=MENU_RT
response_prefix: "g:MENU_RT="
type: enum
values: [AUTO, NONE, 90L, 90R]
- id: mute_state
label: Mute State
query: GET=MUTE
response_prefix: "g:MUTE="
type: enum
values: [ON, OFF]
- id: noise_reduction
label: Noise Reduction
query: GET=NR
response_prefix: "g:NR="
type: enum
values: [MIDDLE]
- id: mpeg_noise_reduction
label: MPEG Noise Reduction
query: GET=NRMPG
response_prefix: "g:NRMPG="
type: string
- id: operation_mode
label: Operation Mode
query: GET=OPMODE
response_prefix: "g:OPMODE="
type: enum
values: [NORMAL, CONST, LONG1, LONG2]
- id: usage_time
label: Projector Usage Time
query: GET=PJUSGT
response_prefix: "g:PJUSGT="
type: integer
description: Usage time in hours
- id: product_code
label: Product Name
query: GET=PRODCODE
response_prefix: "g:PRODCODE="
type: string
- id: quick_start
label: High-Speed Start
query: GET=QSTRT
response_prefix: "g:QSTRT="
type: enum
values: [ON, OFF]
- id: rgb_gain
label: RGB Gain
query: GET=RGBGAIN
response_prefix: "g:RGBGAIN="
type: string
description: "Comma-separated R,G,B values (-60 to 60)"
- id: rgb_offset
label: RGB Offset
query: GET=RGBOFFSET
response_prefix: "g:RGBOFFSET="
type: string
description: "Comma-separated R,G,B values (-60 to 60)"
- id: firmware_version
label: Firmware Version
query: GET=ROMVER
response_prefix: "g:ROMVER="
type: string
- id: saturation
label: Color Saturation
query: GET=SAT
response_prefix: "g:SAT="
type: integer
min: -20
max: 20
- id: image_profile
label: User Memory Status
query: GET=SAVEIMGPROF
response_prefix: "g:SAVEIMGPROF="
type: string
description: "Format: count:presence1,presence2,presence3"
- id: sharpness
label: Sharpness
query: GET=SHARP
response_prefix: "g:SHARP="
type: integer
min: -10
max: 10
- id: signal_message
label: Input Status Display
query: GET=SIGMSG
response_prefix: "g:SIGMSG="
type: enum
values: [ON, OFF]
- id: signal_info
label: Signal Information
query: GET=SIGNAL_INFO
response_prefix: "g:SIGNAL_INFO="
type: string
description: 'e.g. "1920 x 1200 60"'
- id: signal_status
label: Signal Status
query: GET=SIGNALSTATUS
response_prefix: "g:SIGNALSTATUS="
type: enum
values: [NO_SIGNAL, DISPLAYING, SETTING, UNSUPPORTED, INSUFFICIENT]
- id: sntp
label: SNTP Setting
query: GET=SNTP
response_prefix: "g:SNTP="
type: enum
values: [OFF, IPV4, IPV6]
- id: temperature
label: Temperature Sensors
query: GET=TEMP
response_prefix: "g:TEMP="
type: string
description: "Format: count,value1,...,valueN"
- id: time_zone
label: Time Zone
query: GET=TIME_ZONE
response_prefix: "g:TIME_ZONE="
type: string
- id: test_pattern
label: Test Pattern
query: GET=TPTN
response_prefix: "g:TPTN="
type: string
- id: trigger_out
label: Trigger Out Setting
query: GET=TRGOUT
response_prefix: "g:TRGOUT="
type: enum
values: [OFF, POWER]
Variables
# UNRESOLVED: no settable parameters distinct from actions identified in source
Events
# Source describes no unsolicited notifications. All responses are solicited by commands.
# The i:BUSY response is solicited, not an event.
Macros
# UNRESOLVED: no multi-step sequences explicitly described in source
Safety
confirmation_required_for: []
interlocks: []
# Source notes: POWER=OFF returns i:OK as "request accepted" without confirming power-off executed.
# LAN socket closes after 30s inactivity. Serial inter-character timeout Tc=1s; command/response timeout Tr=15s.
# Only one command at a time; second command is discarded while first is processing.
Notes
- Command delimiter: CR (0x0D). All commands and responses use CR termination.
- Command format:
<COMMAND>=<VALUE>CRfor settings;GET=<COMMAND>CRfor queries. - Response types:
i:OK(success),g:CMD=VALUE(query response),e:CODE DESCRIPTION(error),i:BUSY(projector busy). - Case insensitivity: Upper and lowercase letters treated as same; uppercase preferred.
- Max command length: 256 bytes including delimiter.
- LAN timeout: Socket closes if no command received for 30 seconds.
- Serial timeout: Inter-character 1s (Tc), command-response 15s (Tr).
- Standby mode restrictions: Many commands only executable when projector is ON; see command list column LAN ON / RS-232C ON.
- Sequential only: Next command must wait for previous response. Second command is discarded.
- Mute auto-cancel: Adjusting volume during mute cancels mute.
- Freeze/Blank interaction: Executing BLANK during FREEZE cancels FREEZE.
- Wireless LAN: Device also supports 802.11bgn wireless; wireless side of "Network (wired/wireless)" must be set to "Infra" or "Pj AP". Commands use the same TCP/IP port 33336 over wireless.
- Numeric parameter range: Valid value range -32768 to 32767; numeric strings 1-5 digits.
- Error list (section 7):
i:OK— command processed successfully.e:0002 INVALID_COMMAND— command invalid/undefined or format incorrect.e:000A INVALID_PARAMETER— argument/parameter invalid.e:F001 SYSTEM— internal error; resend; if persistent, power-cycle projector.e:0005 NOT_POWER_SUPPLIED— power is off; send command while power on.i:BUSY— projector undergoing internal processing; wait and resend.e:1011 FUNCTION_NOT_AVAILABLE— operation invalid in current status; return UI to projection mode / activate via menu.e:201F INVALID_SIGNAL— cannot execute with current input signal.
Upgrade done. Changes:
- revision 1→2, created_at updated
- Added 9 `kind: query` actions (COMVER/ERR/PJUSGT/PRODCODE/ROMVER/SIGNAL_INFO/SIGNALSTATUS/TEMP/TIME_ZONE) → all 79 source rows now have action coverage
- NR param string→enum [MIDDLE] (source had explicit table)
- NR feedback also string→enum [MIDDLE]
- Notes: added wireless LAN detail, numeric range, full error list from section 7
- All existing IDs/shapes preserved
## Provenance
```yaml
source_domains:
- canon.a.bigcontent.io
- cdn.marketing-cloud.io
- manualsnet.com
- usa.canon.com
source_urls:
- https://canon.a.bigcontent.io/v1/static/636349309990882175PX_xeed-4k600stz_02
- https://cdn.marketing-cloud.io/wp-content/canon_rebranding/uploads/2025/03/24155528/XC_Control_Protocol_specification_008.pdf
- https://manualsnet.com/canon/4k600stz
- https://www.usa.canon.com/support/user-manual-library
retrieved_at: 2026-05-14T13:46:09.968Z
last_checked_at: 2026-07-21T21:41:50.024Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-07-21T21:41:50.024Z
matched_actions: 80
action_count: 80
confidence: medium
summary: "All 80 spec actions map 1:1 to the source's 79 command rows (POWER split into ON/OFF) with matching shapes and transport. (7 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "no settable parameters distinct from actions identified in source"
- "no multi-step sequences explicitly described in source"
- "MEMF/MEMG/MEMS parameter values not enumerated in source"
- "NRMPG parameter values — only MIDDLE shown as example but full set not listed"
- "HDR_RANGE valid value range not stated"
- "LIGHTLV range varies by OPMODE but exact boundaries for all modes not fully confirmed"
- "firmware version compatibility not stated in source"
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0