Summary
RS-232 control protocol for the InFocus INL21xx series DLP projectors. The source is a "Std DLP" command sheet covering 109 send commands, 28 read queries, and 1 unsolicited event, with hex payloads transmitted at 9600 baud 8N1 terminated by <CR> (0x0D).
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
# UNRESOLVED: UART16550 FIFO disable stated as "Disable" in source; not a standard config knob, noted here.
auth:
type: none # inferred: no transport auth procedure in source
Projector addressing: commands default to projector ID 00 (all projectors); IDs 00-99 supported (set via S047).
Traits
powerable: true # inferred from S001 power on/off
routable: true # inferred from S010 source select
queryable: true # inferred from R001-R028 query commands
levelable: true # inferred from S049 volume, S012/S013/S027/S028 brightness/contrast
Actions
# S001 - Power
- id: power
label: Power
kind: action
command: "7E 30 30 30 30 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S002 - Power ON with Password
- id: power_on_with_password
label: Power ON with Password
kind: action
command: "7E 30 30 30 30 20 31 7E {password} 0D"
params:
- name: password
type: string
description: "4-digit password as ASCII; e.g. ~0000 to ~9999"
# S003 - Resync
- id: resync
label: Resync
kind: action
command: "7E 30 30 30 31 20 31 0D"
params: []
# S004 - AV Mute
- id: av_mute
label: AV Mute
kind: action
command: "7E 30 30 30 32 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S005 - Mute
- id: mute_v3
label: Mute (legacy opcode ~0003)
kind: action
command: "7E 30 30 30 33 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S006 - Freeze / Unfreeze
- id: freeze
label: Freeze
kind: action
command: "7E 30 30 30 34 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Unfreeze, 1=Freeze, 2=Unfreeze (backward compatible)"
# S007 - Zoom Plus
- id: zoom_plus
label: Zoom Plus
kind: action
command: "7E 30 30 30 35 20 31 0D"
params: []
# S008 - Zoom Minus
- id: zoom_minus
label: Zoom Minus
kind: action
command: "7E 30 30 30 36 20 31 0D"
params: []
# S009 - IR Function On/Off
- id: ir_function
label: IR Function
kind: action
command: "7E 30 30 31 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off, 1=On"
# S010 - Direct Source Commands
- id: select_source
label: Direct Source
kind: action
command: "7E 30 30 31 32 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 5, 6, 9, 10, 15, 21]
description: "1=HDMI1, 5=VGA, 6=VGA2, 9=S-Video, 10=Video, 15=HDMI2, 21=HDBaseT"
# S011 - Picture Mode
- id: picture_mode
label: Picture Mode
kind: action
command: "7E 30 30 32 30 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4, 5, 9, 12, 13, 14, 15, 22, 26, 27, 28, 29]
description: "1=Presentation, 2=Bright, 3=Movie(Cinema), 4=sRGB, 5=User, 9=3D, 12=Game(Football), 13=DICOM SIM., 14=ISF Day, 15=ISF Night, 22=HDR SIM., 26=HLG SIM., 27=Rec.709, 28=Dark Cinema, 29=Football"
# S012 - Brightness (range)
- id: brightness_set
label: Brightness
kind: action
command: "7E 30 30 32 31 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
description: "Signed integer, ASCII-encoded (e.g. -50 = 2D 35 30)"
# S013 - Contrast (range)
- id: contrast_set
label: Contrast
kind: action
command: "7E 30 30 32 32 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S014 - Sharpness (range)
- id: sharpness_set
label: Sharpness
kind: action
command: "7E 30 30 32 33 20 {n} 0D"
params:
- name: n
type: integer
range: [1, 15]
# S015 - RGB Red Gain
- id: rgb_red_gain
label: RGB Red Gain
kind: action
command: "7E 30 30 32 34 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S016 - RGB Green Gain
- id: rgb_green_gain
label: RGB Green Gain
kind: action
command: "7E 30 30 32 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S017 - RGB Blue Gain
- id: rgb_blue_gain
label: RGB Blue Gain
kind: action
command: "7E 30 30 32 36 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S018 - RGB Red Bias
- id: rgb_red_bias
label: RGB Red Bias
kind: action
command: "7E 30 30 32 37 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S019 - RGB Green Bias
- id: rgb_green_bias
label: RGB Green Bias
kind: action
command: "7E 30 30 32 38 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S020 - RGB Blue Bias
- id: rgb_blue_bias
label: RGB Blue Bias
kind: action
command: "7E 30 30 32 39 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S021 - BrilliantColor
- id: brilliant_color
label: BrilliantColor
kind: action
command: "7E 30 30 33 34 20 {n} 0D"
params:
- name: n
type: integer
range: [1, 10]
# S022 - Gamma
- id: gamma
label: Gamma
kind: action
command: "7E 30 30 33 35 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4, 5, 6, 8, 12]
description: "1=Film, 2=Video, 3=Graphics, 4=Standard(2.2), 5=1.8, 6=2.0, 8=2.6, 12=2.4"
# S023 - Color Temperature
- id: color_temperature
label: Color Temperature
kind: action
command: "7E 30 30 33 36 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4]
description: "1=Warm, 2=Medium(Standard), 3=Cold, 4=Cool"
# S024 - Color Space
- id: color_space
label: Color Space
kind: action
command: "7E 30 30 33 37 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4]
description: "1=Auto, 2=RGB(0-255), 3=YUV, 4=RGB(16-235)"
# S025 - Tint
- id: tint
label: Tint
kind: action
command: "7E 30 30 34 34 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S026 - Saturation
- id: saturation
label: Saturation (Colour)
kind: action
command: "7E 30 30 34 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S027 - Brightness +/- (step)
- id: brightness_step
label: Brightness Step
kind: action
command: "7E 30 30 34 36 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2]
description: "1=Brightness -, 2=Brightness +"
# S028 - Contrast +/- (step)
- id: contrast_step
label: Contrast Step
kind: action
command: "7E 30 30 34 37 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2]
description: "1=Contrast -, 2=Contrast +"
# S029 - Four Corners Adjustment (16 sub-positions under one opcode)
- id: four_corners
label: Four Corners Adjustment
kind: action
command: "7E 30 30 35 39 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
description: "1-4=top-left {right+,left+,up+,down+}, 5-8=top-right, 9-12=bottom-left, 13-16=bottom-right"
# S030 - Format (Aspect Ratio)
- id: aspect_ratio
label: Aspect Ratio
kind: action
command: "7E 30 30 36 30 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 5, 6, 7, 16, 19]
description: "1=4:3, 2=16:9, 3=16:10, 5=LBX, 6=Native, 7=Auto, 16=21:9, 19=FULL"
# S031 - Edge Mask
- id: edge_mask
label: Edge Mask
kind: action
command: "7E 30 30 36 31 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 10]
# S032 - Zoom
- id: zoom
label: Zoom
kind: action
command: "7E 30 30 36 32 20 {n} 0D"
params:
- name: n
type: integer
range: [-5, 25]
# S033 - H Image Shift
- id: h_image_shift
label: Horizontal Image Shift
kind: action
command: "7E 30 30 36 33 20 {n} 0D"
params:
- name: n
type: integer
range: [-100, 100]
# S034 - V Image Shift
- id: v_image_shift
label: Vertical Image Shift
kind: action
command: "7E 30 30 36 34 20 {n} 0D"
params:
- name: n
type: integer
range: [-100, 100]
# S035 - H Keystone
- id: h_keystone
label: Horizontal Keystone
kind: action
command: "7E 30 30 36 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-30, 30]
# S036 - V Keystone
- id: v_keystone
label: Vertical Keystone
kind: action
command: "7E 30 30 36 36 20 {n} 0D"
params:
- name: n
type: integer
range: [-40, 40]
description: "RT/ST: -40..+40 typical; -30..+30 for INL2156, INL2158, INL2159; ST others: -20..+20"
# S037 - Auto Keystone
- id: auto_keystone
label: Auto Keystone
kind: action
command: "7E 30 30 36 39 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S038 - Language
- id: language
label: Language
kind: action
command: "7E 30 30 37 30 20 {value} 0D"
params:
- name: value
type: integer
range: [1, 34]
description: "1=English, 2=Deutsch, 3=Français, 4=Italiana, 5=Español, 6=Português, 7=Polski, 8=Nederlands, 9=Svenska, 10=Norsk/Dansk, 11=Suomi, 12=ελληνικά, 13=繁體中文, 14=簡体中文, 15=日本語, 16=한국어, 17=Русский, 18=Magyar, 19=Čeština, 20=عربي, 21=ไทย, 22=Türkçe, 23=فارسی, 24=हिंदी, 25=Tiếng Việt, 26=Bahasa Indonesia, 27=Română, 28=Slovenčina, 29=Pilipino, 30=Melayu, 31=বাংলা, 32=Norsk, 33=Dansk, 34=(unlabeled)"
# S039 - Projection
- id: projection_orientation
label: Projection Orientation
kind: action
command: "7E 30 30 37 31 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4]
description: "1=Front, 2=Rear, 3=Front-Ceiling, 4=Rear-Ceiling"
# S040 - Menu Location
- id: menu_location
label: Menu Location
kind: action
command: "7E 30 30 37 32 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3, 4, 5]
description: "1=Top Left, 2=Top Right, 3=Centre, 4=Bottom Left, 5=Bottom Right"
# S041 - Signal Frequency
- id: signal_frequency
label: Signal Frequency
kind: action
command: "7E 30 30 37 33 20 {n} 0D"
params:
- name: n
type: integer
range: [-5, 5]
description: "By signal"
# S042 - Signal Phase
- id: signal_phase
label: Signal Phase
kind: action
command: "7E 30 30 37 34 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 63]
description: "By signal"
# S043 - Signal H. Position
- id: signal_h_position
label: Signal Horizontal Position
kind: action
command: "7E 30 30 37 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-5, 5]
description: "By timing"
# S044 - Signal V. Position
- id: signal_v_position
label: Signal Vertical Position
kind: action
command: "7E 30 30 37 36 20 {n} 0D"
params:
- name: n
type: integer
range: [-5, 5]
description: "By timing"
# S045 - Security Timer (Month/Day/Hour)
- id: security_timer
label: Security Timer
kind: action
command: "7E 30 30 37 37 20 {mm} {dd} {hh} 0D"
params:
- name: mm
type: integer
range: [0, 12]
description: "Month"
- name: dd
type: integer
range: [0, 30]
description: "Day"
- name: hh
type: integer
range: [0, 24]
description: "Hour"
# S046 - Security On/Off
- id: security
label: Security
kind: action
command: "7E 30 30 37 38 20 {value} 7E {password} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
- name: password
type: string
description: "4-digit password as ASCII; e.g. ~0000 to ~9999"
# S047 - Projector ID
- id: projector_id
label: Projector ID
kind: action
command: "7E 30 30 37 39 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 99]
description: "00=all projectors, 01-99=individual"
# S048 - Mute (alternate opcode)
- id: mute_v80
label: Mute (opcode ~0080)
kind: action
command: "7E 30 30 38 30 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S049 - Volume
- id: volume_set
label: Volume
kind: action
command: "7E 30 30 38 31 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 10]
# S050 - Logo
- id: logo
label: Logo
kind: action
command: "7E 30 30 38 32 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 3]
description: "1=Default, 2=User, 3=Neutral"
# S051 - Projection Location
- id: projection_location
label: Projection Location
kind: action
command: "7E 30 30 38 34 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Auto, 1=Desktop, 2=Ceiling"
# S052 - Closed Captioning
- id: closed_captioning
label: Closed Captioning
kind: action
command: "7E 30 30 38 38 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=CC1, 2=CC2"
# S053 - Screen Type (WXGA/WUXGA only)
- id: screen_type
label: Screen Type
kind: action
command: "7E 30 30 39 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=16:9, 1=16:10"
# S054 - Signal Automatic
- id: signal_automatic
label: Signal Automatic
kind: action
command: "7E 30 30 39 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off, 1=On"
# S055 - High Altitude
- id: high_altitude
label: High Altitude
kind: action
command: "7E 30 30 31 30 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S056 - Information Hide
- id: information_hide
label: Information Hide
kind: action
command: "7E 30 30 31 30 32 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S057 - Keypad Lock
- id: keypad_lock
label: Keypad Lock
kind: action
command: "7E 30 30 31 30 33 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S058 - Background Color
- id: background_color
label: Background Color
kind: action
command: "7E 30 30 31 30 34 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2, 3, 4, 5, 6, 7]
description: "0=None, 1=Blue, 2=Black, 3=Red, 4=Green, 5=White, 6=Gray, 7=Logo"
# S059 - Direct Power On
- id: direct_power_on
label: Direct Power On
kind: action
command: "7E 30 30 31 30 35 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S060 - Auto Power Off
- id: auto_power_off
label: Auto Power Off
kind: action
command: "7E 30 30 31 30 36 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 180]
description: "Minutes; 5 minutes per step"
# S061 - Sleep Timer
- id: sleep_timer
label: Sleep Timer
kind: action
command: "7E 30 30 31 30 37 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 990]
description: "Minutes; 30 minutes per step"
# S062 - Lamp Reminder
- id: lamp_reminder
label: Lamp Reminder
kind: action
command: "7E 30 30 31 30 39 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S063 - Brightness Mode (lamp power)
- id: brightness_mode
label: Brightness Mode
kind: action
command: "7E 30 30 31 31 30 20 {value} 0D"
params:
- name: value
type: integer
values: [1, 2, 4, 6]
description: "1=Bright, 2=Eco, 4=Dynamic, 6=Power"
# S064 - Lamp Reset
- id: lamp_reset
label: Lamp Reset
kind: action
command: "7E 30 30 31 31 31 20 31 0D"
params: []
# S065 - Reset to Default (no password, security off)
- id: reset_to_default
label: Reset to Default
kind: action
command: "7E 30 30 31 31 32 20 31 0D"
params: []
# Note: source lists this row twice (S065 and S066) with identical command bytes; one entry retained.
# S067 - Signal Power On
- id: signal_power_on
label: Signal Power On
kind: action
command: "7E 30 30 31 31 33 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S068 - Power Mode (Standby)
- id: power_mode_standby
label: Power Mode (Standby)
kind: action
command: "7E 30 30 31 31 34 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Eco. (<0.5W), 1=Active, 2=ErP Off"
# S069 - Quick Resume
- id: quick_resume
label: Quick Resume
kind: action
command: "7E 30 30 31 31 35 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S070 - IR Function (remote control codes)
- id: ir_function_key
label: IR Function Key
kind: action
command: "7E 30 30 31 34 30 20 {value} 0D"
params:
- name: value
type: integer
values: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 28, 47]
description: "10=Up, 11=Left, 12=Enter, 13=Right, 14=Down, 15=Keystone+, 16=Keystone-, 17=Volume-, 18=Volume+, 19=Brightness, 20=Menu, 21=Zoom, 28=Contrast, 47=Source"
# S071 - Test Pattern
- id: test_pattern
label: Test Pattern
kind: action
command: "7E 30 30 31 39 35 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2, 3, 4, 9]
description: "0=Off, 1=Grid(Red), 2=White, 3=Grid(Green), 4=Grid(Blue), 9=Test Card"
# S072 - White Level
- id: white_level
label: White Level
kind: action
command: "7E 30 30 32 30 30 20 {n} 0D"
params:
- name: n
type: integer
range: [0, 31]
# S073 - Black Level
- id: black_level
label: Black Level
kind: action
command: "7E 30 30 32 30 31 20 {n} 0D"
params:
- name: n
type: integer
range: [-5, 5]
# S074 - IRE
- id: ire
label: IRE
kind: action
command: "7E 30 30 32 30 34 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=7.5, 1=0"
# S075 - Display message on OSD
- id: osd_message
label: Display Message on OSD
kind: action
command: "7E 30 30 32 30 30 20 {n} 0D"
# UNRESOLVED: source has a typo here (7E 30 30 32 30 30) - opcode 0200 collides with S072; S072 also 0200.
# Two S-rows share the same hex payload prefix; the source appears to have a transcription error.
params:
- name: n
type: string
description: "1-30 character ASCII message"
# S076 - Color Setting Reset
- id: color_setting_reset
label: Color Setting Reset
kind: action
command: "7E 30 30 32 31 35 20 31 0D"
params: []
# S077 - 3D Mode
- id: 3d_mode
label: 3D Mode
kind: action
command: "7E 30 30 32 33 30 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off, 1=DLP-Link"
# S078 - 3D Sync Invert
- id: 3d_sync_invert
label: 3D Sync Invert
kind: action
command: "7E 30 30 32 33 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off, 1=On"
# S079 - Information Menu
- id: information_menu
label: Information Menu
kind: action
command: "7E 30 30 33 31 33 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S080 - Optional Filter Installed
- id: optional_filter_installed
label: Optional Filter Installed
kind: action
command: "7E 30 30 33 32 30 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=No, 1=Yes, 2=No (backward compatible)"
# S081 - Filter Reminder
- id: filter_reminder
label: Filter Reminder
kind: action
command: "7E 30 30 33 32 32 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2, 3, 4]
description: "0=Off, 1=300hr, 2=500hr, 3=800hr, 4=1000hr"
# S082 - Filter Reset
- id: filter_reset
label: Filter Reset
kind: action
command: "7E 30 30 33 32 33 20 31 0D"
params: []
# S083-S100 - Color Setting Hue/Saturation/Gain (6 colors x 3 = 18 actions, all share opcode range 0327-0344)
- id: color_setting_red_hue
label: Color Setting - Red Hue
kind: action
command: "7E 30 30 33 32 37 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_green_hue
label: Color Setting - Green Hue
kind: action
command: "7E 30 30 33 32 38 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_blue_hue
label: Color Setting - Blue Hue
kind: action
command: "7E 30 30 33 32 39 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_cyan_hue
label: Color Setting - Cyan Hue
kind: action
command: "7E 30 30 33 33 30 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_yellow_hue
label: Color Setting - Yellow Hue
kind: action
command: "7E 30 30 33 33 31 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_magenta_hue
label: Color Setting - Magenta Hue
kind: action
command: "7E 30 30 33 33 32 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_red_saturation
label: Color Setting - Red Saturation
kind: action
command: "7E 30 30 33 33 33 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_green_saturation
label: Color Setting - Green Saturation
kind: action
command: "7E 30 30 33 33 34 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_blue_saturation
label: Color Setting - Blue Saturation
kind: action
command: "7E 30 30 33 33 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_cyan_saturation
label: Color Setting - Cyan Saturation
kind: action
command: "7E 30 30 33 33 36 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_yellow_saturation
label: Color Setting - Yellow Saturation
kind: action
command: "7E 30 30 33 33 37 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_magenta_saturation
label: Color Setting - Magenta Saturation
kind: action
command: "7E 30 30 33 33 38 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_red_gain
label: Color Setting - Red Gain
kind: action
command: "7E 30 30 33 33 39 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_green_gain
label: Color Setting - Green Gain
kind: action
command: "7E 30 30 33 34 30 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_blue_gain
label: Color Setting - Blue Gain
kind: action
command: "7E 30 30 33 34 31 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_cyan_gain
label: Color Setting - Cyan Gain
kind: action
command: "7E 30 30 33 34 32 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_yellow_gain
label: Color Setting - Yellow Gain
kind: action
command: "7E 30 30 33 34 33 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: color_setting_magenta_gain
label: Color Setting - Magenta Gain
kind: action
command: "7E 30 30 33 34 34 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S101-S103 - White R/G/B
- id: white_red
label: White - Red
kind: action
command: "7E 30 30 33 34 35 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: white_green
label: White - Green
kind: action
command: "7E 30 30 33 34 36 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
- id: white_blue
label: White - Blue
kind: action
command: "7E 30 30 33 34 37 20 {n} 0D"
params:
- name: n
type: integer
range: [-50, 50]
# S104 - Display Mode Lock
- id: display_mode_lock
label: Display Mode Lock
kind: action
command: "7E 30 30 33 34 38 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off, 1=On"
# S105 - 3D->2D
- id: 3d_to_2d
label: 3D to 2D
kind: action
command: "7E 30 30 34 30 30 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=3D, 1=L, 2=R"
# S106 - 3D Format
- id: 3d_format
label: 3D Format
kind: action
command: "7E 30 30 34 30 35 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2, 3]
description: "0=Auto, 1=SBS, 2=Top and Bottom, 3=Frame Sequential"
# S107 - Wall Color
- id: wall_color
label: Wall Color
kind: action
command: "7E 30 30 35 30 36 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2, 3, 4, 5, 6]
description: "0=Whiteboard, 1=Blackboard, 2=Light Yellow, 3=Light Green, 4=Light Blue, 5=Pink, 6=Gray"
# S108 - HDMI Link (CEC)
- id: hdmi_link_cec
label: HDMI Link (CEC)
kind: action
command: "7E 30 30 35 31 31 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# S109 - Auto Source
- id: auto_source
label: Auto Source
kind: action
command: "7E 30 30 35 36 33 20 {value} 0D"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off, 1=On, 2=Off (backward compatible)"
# R001 - LAN Network State query
- id: query_network_state
label: Query Network State
kind: query
command: "7E 30 30 38 37 20 31 0D"
params: []
# R002 - LAN IP Address query
- id: query_ip_address
label: Query IP Address
kind: query
command: "7E 30 30 38 37 20 33 0D"
params: []
# R003 - Lamp Hours query
- id: query_lamp_hours
label: Query Lamp Hours
kind: query
command: "7E 30 30 31 30 38 20 31 0D"
params: []
# R004 - Input Source query
- id: query_input_source
label: Query Input Source
kind: query
command: "7E 30 30 31 32 31 20 31 0D"
params: []
# R005 - Software Version query
- id: query_software_version
label: Query Software Version
kind: query
command: "7E 30 30 31 32 32 20 31 0D"
params: []
# R006 - Display Mode query
- id: query_display_mode
label: Query Display Mode
kind: query
command: "7E 30 30 31 32 33 20 31 0D"
params: []
# R007 - Power State query
- id: query_power_state
label: Query Power State
kind: query
command: "7E 30 30 31 32 34 20 31 0D"
params: []
# R008 - Brightness query
- id: query_brightness
label: Query Brightness
kind: query
command: "7E 30 30 31 32 35 20 31 0D"
params: []
# R009 - Contrast query
- id: query_contrast
label: Query Contrast
kind: query
command: "7E 30 30 31 32 36 20 31 0D"
params: []
# R010 - Aspect Ratio query
- id: query_aspect_ratio
label: Query Aspect Ratio
kind: query
command: "7E 30 30 31 32 37 20 31 0D"
params: []
# R011 - Color Temperature query
- id: query_color_temperature
label: Query Color Temperature
kind: query
command: "7E 30 30 31 32 38 20 31 0D"
params: []
# R012 - Projection Mode query
- id: query_projection_mode
label: Query Projection Mode
kind: query
command: "7E 30 30 31 32 39 20 31 0D"
params: []
# R013 - Information query
- id: query_information
label: Query Information
kind: query
command: "7E 30 30 31 35 30 20 31 0D"
params: []
# R014 - Resolution query
- id: query_resolution
label: Query Resolution
kind: query
command: "7E 30 30 31 35 30 20 34 0D"
params: []
# R015 - Standby Power Mode query
- id: query_standby_power_mode
label: Query Standby Power Mode
kind: query
command: "7E 30 30 31 35 30 20 31 36 0D"
params: []
# R016 - Refresh rate query
- id: query_refresh_rate
label: Query Refresh Rate
kind: query
command: "7E 30 30 31 35 30 20 31 39 0D"
params: []
# R017 - Model Name query
- id: query_model_name
label: Query Model Name
kind: query
command: "7E 30 30 31 35 31 20 31 0D"
params: []
# R018 - Filter Usage Hours query
- id: query_filter_usage_hours
label: Query Filter Usage Hours
kind: query
command: "7E 30 30 33 32 31 20 31 0D"
params: []
# R019 - System Temperature query
- id: query_system_temperature
label: Query System Temperature
kind: query
command: "7E 30 30 33 35 32 20 31 0D"
params: []
# R020 - Serial Number query
- id: query_serial_number
label: Query Serial Number
kind: query
command: "7E 30 30 33 35 33 20 31 0D"
params: []
# R021 - AV Mute query
- id: query_av_mute
label: Query AV Mute
kind: query
command: "7E 30 30 33 35 35 20 31 0D"
params: []
# R022 - Mute query
- id: query_mute
label: Query Mute
kind: query
command: "7E 30 30 33 35 36 20 31 0D"
params: []
# R023 - H Image Shift query
- id: query_h_image_shift
label: Query H Image Shift
kind: query
command: "7E 30 30 35 34 33 20 31 0D"
params: []
# R024 - V Image Shift query
- id: query_v_image_shift
label: Query V Image Shift
kind: query
command: "7E 30 30 35 34 33 20 32 0D"
params: []
# R025 - V Keystone query
- id: query_v_keystone
label: Query V Keystone
kind: query
command: "7E 30 30 35 34 33 20 33 0D"
params: []
# R026 - H Keystone query
- id: query_h_keystone
label: Query H Keystone
kind: query
command: "7E 30 30 35 34 33 20 34 0D"
params: []
# R027 - LAN MAC Address query
- id: query_mac_address
label: Query MAC Address
kind: query
command: "7E 30 30 35 35 35 20 31 0D"
params: []
# R028 - Projector ID query
- id: query_projector_id
label: Query Projector ID
kind: query
command: "7E 30 30 35 35 38 20 31 0D"
params: []
Feedbacks
- id: power_state
type: enum
values: [on, off]
notes: "Per R007: 0=Off, 1=On"
- id: projector_information
type: object
notes: "Per A001 unsolicited event 'INFOa' where a encodes Standby/Warming/Cooling/Out of Range/Lamp Fail/Fan Lock/Over Temperature/Lamp Hours Running Out"
- id: network_state
type: enum
values: [disconnected, connected]
notes: "Per R001: a=0 Disconnected, a=1 Connected"
- id: ip_address
type: string
format: aaa_bbb_ccc_ddd
notes: "Per R002"
- id: lamp_hours
type: integer
range: [0, 99999]
notes: "5-digit value per R003"
- id: input_source
type: enum
values: [none, hdmi1, vga, s_video, video, hdmi2, vga2, hdbaseT]
notes: "Per R004; encoding varies by model variant"
- id: software_version
type: string
notes: "Per R005"
- id: display_mode
type: enum
values: [none, presentation, bright, movie, srgb, user, 3d, game, dicom_sim, isf_day, isf_night, hdr_sim, hlg_sim]
notes: "Per R006"
- id: brightness
type: integer
range: [-50, 50]
notes: "Per R008"
- id: contrast
type: integer
range: [-50, 50]
notes: "Per R009"
- id: aspect_ratio
type: enum
values: [none, 4_3, 16_9, 16_10, lbx, native, auto, 21_9, full]
notes: "Per R010"
- id: color_temperature
type: enum
values: [warm, medium, cold, cool]
notes: "Per R011"
- id: projection_mode
type: enum
values: [front, rear, front_ceiling, rear_ceiling]
notes: "Per R012"
- id: resolution
type: string
notes: "Per R014; e.g. Ok1920x1080; Ok0x0 means no signal"
- id: standby_power_mode
type: enum
values: [eco, active, erp_off]
notes: "Per R015"
- id: refresh_rate
type: string
notes: "Per R016; e.g. Ok60Hz; Ok0Hz means no signal"
- id: model_name
type: enum
values: [svga, xga, wxga, 1080p, wuxga]
notes: "Per R017"
- id: filter_usage_hours
type: integer
range: [0, 99999]
notes: "Per R018"
- id: system_temperature
type: integer
range: [0, 999]
notes: "Per R019"
- id: serial_number
type: string
notes: "Per R020"
- id: av_mute
type: enum
values: [off, on]
notes: "Per R021"
- id: mute
type: enum
values: [off, on]
notes: "Per R022"
- id: h_image_shift
type: integer
range: [-100, 100]
notes: "Per R023"
- id: v_image_shift
type: integer
range: [-100, 100]
notes: "Per R024"
- id: v_keystone
type: integer
range: [-40, 40]
notes: "Per R025"
- id: h_keystone
type: integer
range: [-40, 40]
notes: "Per R026"
- id: mac_address
type: string
format: "##:##:##:##:##:##"
notes: "Per R027"
- id: projector_id
type: integer
range: [0, 99]
notes: "Per R028"
Events
- id: projector_status
trigger: unsolicited
format: "INFO{a}"
description: "Sent by projector asynchronously; a encodes: 0=Projector Information, 1=Standby, 2=Warming, 3=Cooling, 4=Out of Range, 6=Lamp Fail, 7=Fan Lock, 8=Over Temperature, 9=Lamp Hours Running Out"
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not contain explicit safety warnings, interlock procedures, or power-on sequencing requirements. Source mentions projector ID 00=99 addressing and a power-on password (S002) but no safety-critical interlocks.
Notes
- Frame format: every command terminated by
<CR>(0x0D). Projector returns P (pass) or F (fail, sometimesF 00). - Projector ID addressing: ID 00 broadcasts to all projectors; 01-99 targets a specific unit. ID is set via S047.
- Backward-compatible values: many On/Off commands accept 2 as an alias for Off (legacy firmware compatibility). Listed in the
valueenum for each. - Multi-sheet source: the source document contains three protocol sheets. This spec covers the first sheet ("Std DLP"), which the source flags as the protocol for the INL21xx series (S036 specifically notes INL2156, INL2158, INL2159). Sheets 2 (IN13xST, IN213x, INL314x, INL412x) and 3 (IN102x-105x) describe a different protocol family using
(CMD arg)syntax at 19200 baud with a different timing model (20s lamp ignition, 10s power down, 8s source change, 5ms intercommand, 2ms intercharacter); they are NOT covered by this spec. - Source typos (not auto-corrected):
- S054 has a blank ASCII Code cell in the on-row; the hex column is repeated from S053 (Signal Automatic On shares opcode 0091 with Screen Type).
- S075 ("Display message on the OSD") hex column repeats S072's 0200 opcode — likely a transcription error in the source.
- S065 and S066 are duplicate rows with identical payload but different "P.S" notes about security state; only one action retained.
- R013 lists two projection-info block variants (different source-encoding tables) with no clear criterion for choosing; both shown in source notes.
- R004 has two source-encoding mappings within one row (legacy vs current model variants).
- Source format convention: each ASCII command begins with
~followed by a 4- or 5-digit opcode, a space, the value, and<CR>. The "HEX Code" column encodes the ASCII bytes (so7E=~,30=0,20= space,0D= CR). - Security password: S002 (power on with password) and S046 (security on/off) require a 4-digit password appended as
~nnnn. When security is enabled, password is required on protected commands (per source Note 1).
Provenance
source_domains:
- cdn.infocus.com
source_urls:
- https://cdn.infocus.com/2026/02/b7RCq21d-InFocus_Generic_RS232_Commands.xlsx
retrieved_at: 2026-05-15T02:06:44.135Z
last_checked_at: 2026-06-02T17:22:34.488Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:22:34.488Z
matched_actions: 136
action_count: 136
confidence: medium
summary: "Every spec action matched its hex opcode in the source table; all 109 send commands, 28 read queries, and 1 unsolicited event are represented. (5 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "exact models in the INL21xx series not enumerated in source; S036 notes mention INL2156, INL2158, INL2159 specifically."
- "UART16550 FIFO disable stated as \"Disable\" in source; not a standard config knob, noted here."
- "source has a typo here (7E 30 30 32 30 30) - opcode 0200 collides with S072; S072 also 0200."
- "source does not contain explicit safety warnings, interlock procedures, or power-on sequencing requirements. Source mentions projector ID 00=99 addressing and a power-on password (S002) but no safety-critical interlocks."
- "firmware version compatibility not stated in source. The \"INL21xx series\" model range is named only in S036's range note; the source does not enumerate which model numbers belong to the series."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0