Summary
Control protocol spec (source document 115-482A, "Protocol Guide") for a family of large-venue projectors: HIGHlite 660/730/740 (2D/3D), HIGHlite 8000, Lightning, Mercury 930, Titan LED, Titan 330/660, Titan 800/930, and Titan Quad/Super Quad/Quad 2000. Commands are ASCII text strings beginning with * and terminated by CR (code 13), carried over RS-232 (38400 8N1) or TCP/IP (default port 7000). An embedded Web Configuration Utility is also reachable over HTTP at the projector's LAN IP address.
Transport
protocols:
- tcp
- serial
- http
addressing:
port: 7000 # default TCP port stated in source; default projector IP 192.168.0.100
base_url: "http://{lan-ip}" # embedded Web Configuration Utility (mirrors OSD menus); default projector IP 192.168.0.100
serial:
baud_rate: 38400
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Command framing (all protocols): ASCII string starting with *, ending with ASCII Carriage Return (code 13). Format: *command operator <value>. Spaces are required before the operator and before the value. Operators: Set = <value>, Get ?, Execute (no operator). Entering a command name alone (no operator) sets its default value.
Traits
traits:
- powerable # inferred: power On/Off command present
- queryable # inferred: extensive ? query commands present
- levelable # inferred: brightness/contrast/lamp.power continuous level controls present
- routable # inferred: input source selection command present
Actions
# All commands verbatim from source. Set form: "*<cmd> = {value}". Get form noted
# per command where source documents "?". Execute form: "*<cmd>" (no operator).
# --- INPUTS ---
- id: select_input
label: Select Input
kind: action
command: "*input = {value}"
params:
- name: value
type: integer
description: "0=CVBS 1, 1=CVBS 2, 2=S-Video, 3=Component, 4=VGA, 5=3G-SDI, 6=DVI, 7=HDMI, 8=Test Pattern; 9-13 model-dependent (see Notes). Get: '*input ?'"
# --- TEST PATTERNS ---
- id: set_test_pattern
label: Set Test Pattern
kind: action
command: "*test.pattern = {value}"
params:
- name: value
type: integer
description: "0=Grey V Bars, 1=Grey H Bars, 2=Aspect Test, 3=Alignment Grid, 4=Warp Adjust, 5=SMPTE, 6=Checkerboard, 7=White Field, 8=Black Field, 9=Screen Layout. Only accessible when input=8. Get: '*test.pattern ?'"
- id: set_formatter_pattern
label: Set Formatter Test Pattern
kind: action
command: "*formatter.pattern = {value}"
params:
- name: value
type: integer
description: "0=white, 1=black, 2=green, 3=red, 4=blue, 5=magenta, 6=cyan, 7=yellow, 8=checker, 9=align, 10=h-ramp, 11=v-ramp, 12=max lumens, 13=native white, 14=native black, 15=native green, 16=native red, 17=native blue, 18=native magenta, 19=native cyan, 20=native yellow, 21=off. Send 21 to return to normal picture. Get: '*formatter.pattern ?'"
# --- LENS ---
- id: zoom_in
label: Zoom In
kind: action
command: "*zoom.in"
params: []
- id: zoom_out
label: Zoom Out
kind: action
command: "*zoom.out"
params: []
- id: focus_near
label: Focus Near
kind: action
command: "*focus.near"
params: []
- id: focus_far
label: Focus Far
kind: action
command: "*focus.far"
params: []
- id: lens_center
label: Lens Center
kind: action
command: "*lens.center"
params: []
- id: nudge_up
label: Nudge Up
kind: action
command: "*nudge.up = {value}"
params:
- name: value
type: integer
description: "Nudge time, 0=shortest to 3=longest (brief lens movement)"
- id: nudge_down
label: Nudge Down
kind: action
command: "*nudge.down = {value}"
params:
- name: value
type: integer
description: "Nudge time, 0=shortest to 3=longest"
- id: nudge_left
label: Nudge Left
kind: action
command: "*nudge.left = {value}"
params:
- name: value
type: integer
description: "Nudge time, 0=shortest to 3=longest"
- id: nudge_right
label: Nudge Right
kind: action
command: "*nudge.right = {value}"
params:
- name: value
type: integer
description: "Nudge time, 0=shortest to 3=longest"
- id: lens_up
label: Lens Up
kind: action
command: "*lens.up = {value}"
params:
- name: value
type: integer
description: "0-3, moves until lens.stop or limit reached"
- id: lens_down
label: Lens Down
kind: action
command: "*lens.down = {value}"
params:
- name: value
type: integer
description: "0-3, moves until lens.stop or limit reached"
- id: lens_left
label: Lens Left
kind: action
command: "*lens.left = {value}"
params:
- name: value
type: integer
description: "0-3, moves until lens.stop or limit reached"
- id: lens_right
label: Lens Right
kind: action
command: "*lens.right = {value}"
params:
- name: value
type: integer
description: "0-3, moves until lens.stop or limit reached"
- id: lens_stop
label: Lens Stop
kind: action
command: "*lens.stop"
params: []
- id: calibrate_zoom
label: Calibrate Zoom
kind: action
command: "*calibrate.zoom"
params: []
- id: calibrate_focus
label: Calibrate Focus
kind: action
command: "*calibrate.focus"
params: []
- id: lensmemory_save
label: Save Lens Memory
kind: action
command: "*lensmemory.save = {value}"
params:
- name: value
type: integer
description: "0-9"
- id: lensmemory_recall
label: Recall Lens Memory
kind: action
command: "*lensmemory.recall = {value}"
params:
- name: value
type: integer
description: "0-9"
# --- IMAGE ---
- id: set_brightness
label: Set Brightness
kind: action
command: "*brightness = {value}"
params:
- name: value
type: integer
description: "-50 to 50. Get: '*brightness ?'"
- id: set_contrast
label: Set Contrast
kind: action
command: "*contrast = {value}"
params:
- name: value
type: integer
description: "-50 to 50. Get: '*contrast ?'"
- id: set_gamma
label: Set Gamma
kind: action
command: "*gamma = {value}"
params:
- name: value
type: integer
description: "0=1.0, 1=1.8, 2=2.0, 3=2.2, 4=2.4, 5=2.6, 6=2.8. Get: '*gamma ?'"
- id: set_freeze
label: Set Freeze
kind: action
command: "*freeze = {value}"
params:
- name: value
type: enum
description: "On, Off. Frozen image persists even if source disconnected. Get: '*freeze ?'"
- id: set_hue
label: Set Hue
kind: action
command: "*hue = {value}"
params:
- name: value
type: integer
description: "-50 to 50. Get: '*hue ?'"
- id: set_saturation
label: Set Saturation
kind: action
command: "*saturation = {value}"
params:
- name: value
type: integer
description: "-50 to 50. Get: '*saturation ?'"
- id: set_blacklevel_offset
label: Set Black Level Offset
kind: action
command: "*blacklevel.offset = {value}"
params:
- name: value
type: integer
description: "0=0 IRE, 1=7.5 IRE. Get: '*blacklevel.offset ?'"
- id: set_sharpness
label: Set Sharpness
kind: action
command: "*sharpness = {value}"
params:
- name: value
type: integer
description: "-50 to 50. Get: '*sharpness ?'"
- id: set_detail
label: Set Detail
kind: action
command: "*detail = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*detail ?'"
- id: set_luma_sharpness
label: Set Luma Sharpness
kind: action
command: "*luma.sharpness = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=Low, 2=High. Get: '*luma.sharpness ?'"
- id: set_chroma_sharpness
label: Set Chroma Sharpness
kind: action
command: "*chroma.sharpness = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=Low, 2=High. Get: '*chroma.sharpness ?'"
- id: set_recursive_nr
label: Set Recursive Noise Reduction
kind: action
command: "*recursive.nr = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=Low, 2=Medium, 3=High. Get: '*recursive.nr ?'"
- id: set_mosquito_nr
label: Set Mosquito Noise Reduction
kind: action
command: "*mosquito.nr = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=Low, 2=Medium, 3=High. Get: '*mosquito.nr ?'"
- id: set_ccs
label: Set Cross Color Suppression
kind: action
command: "*ccs = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=On. Identical to Image > Video Filters > Cross Color Suppression. Get: '*ccs ?'"
- id: set_vga_phase
label: Set VGA Phase
kind: action
command: "*vga.phase = {value}"
params:
- name: value
type: integer
description: "-15 to 15. Get: '*vga.phase ?'"
- id: set_vga_samples
label: Set VGA Total H Samples
kind: action
command: "*vga.samples = {value}"
params:
- name: value
type: integer
description: "0 to 1444. Get: '*vga.samples ?'"
- id: vga_auto
label: VGA Auto Setup
kind: action
command: "*vga.auto"
params: []
# --- COLOR ---
- id: set_gamut
label: Set Gamut
kind: action
command: "*gamut = {value}"
params:
- name: value
type: integer
description: "0=Peak, 1=HDTV, 2=SDTV, 3=3200K, 4=5400K, 5=6500K, 6=8000K, 7=9000K, 8=User 1, 9=User 2. Get: '*gamut ?'"
- id: set_mcgd_data
label: Set MCGD Data
kind: action
command: "*mcgd.data = {value}"
params:
- name: value
type: string
description: "Comma-separated x,y coordinates in order green-x,green-y,red-x,red-y,blue-x,blue-y,white-x,white-y; must be preceded by leading 0, e.g. 0.663,0.332. Get: '*mcgd.data ?'"
- id: set_tcgd1_data
label: Set User TCGD 1 Data
kind: action
command: "*tcgd1.data = {value}"
params:
- name: value
type: string
description: "Same coordinate format as mcgd.data. Get: '*tcgd1.data ?'"
- id: set_tcgd2_data
label: Set User TCGD 2 Data
kind: action
command: "*tcgd2.data = {value}"
params:
- name: value
type: string
description: "Same coordinate format as mcgd.data. Get: '*tcgd2.data ?'"
- id: set_red_lift
label: Set Red Lift
kind: action
command: "*red.lift = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*red.lift ?'"
- id: set_green_lift
label: Set Green Lift
kind: action
command: "*green.lift = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*green.lift ?'"
- id: set_blue_lift
label: Set Blue Lift
kind: action
command: "*blue.lift = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*blue.lift ?'"
- id: set_red_gain
label: Set Red Gain
kind: action
command: "*red.gain = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*red.gain ?'"
- id: set_green_gain
label: Set Green Gain
kind: action
command: "*green.gain = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*green.gain ?'"
- id: set_blue_gain
label: Set Blue Gain
kind: action
command: "*blue.gain = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*blue.gain ?'"
- id: set_red_dmd
label: Set Red DMD Enable
kind: action
command: "*red.dmd = {value}"
params:
- name: value
type: enum
description: "On, Off. Enables/disables the red DMD. Get: '*red.dmd ?'"
- id: set_green_dmd
label: Set Green DMD Enable
kind: action
command: "*green.dmd = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*green.dmd ?'"
- id: set_blue_dmd
label: Set Blue DMD Enable
kind: action
command: "*blue.dmd = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*blue.dmd ?'"
# --- GEOMETRY ---
- id: set_aspect_ratio
label: Set Aspect Ratio
kind: action
command: "*aspect.ratio = {value}"
params:
- name: value
type: integer
description: "0=Source, 1=Fill & Display, 2=Fill & Crop, 3=Anamorphic, 4=TheaterScope. Get: '*aspect.ratio ?'"
- id: set_overscan
label: Set Overscan
kind: action
command: "*overscan = {value}"
params:
- name: value
type: integer
description: "0=0%, 1=2.5%, 2=5%, 3=7.5%. Get: '*overscan ?'"
- id: set_sizepos_enable
label: Set Size & Position Enable
kind: action
command: "*sizepos.enable = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*sizepos.enable ?'"
- id: set_sizepos_setting
label: Set Size & Position Setting Mode
kind: action
command: "*sizepos.setting = {value}"
params:
- name: value
type: enum
description: "Global, Modal. Get: '*sizepos.setting ?'"
- id: set_h_position
label: Set Horizontal Position
kind: action
command: "*h.position = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*h.position ?'"
- id: set_v_position
label: Set Vertical Position
kind: action
command: "*v.position = {value}"
params:
- name: value
type: integer
description: "-50 to +50. Get: '*v.position ?'"
- id: set_h_size
label: Set Horizontal Size
kind: action
command: "*h.size = {value}"
params:
- name: value
type: integer
description: "50 to 400. Get: '*h.size ?'"
- id: set_v_size
label: Set Vertical Size
kind: action
command: "*v.size = {value}"
params:
- name: value
type: integer
description: "50 to 400. Get: '*v.size ?'"
- id: set_sizepos_aspect
label: Set Aspect Lock
kind: action
command: "*sizepos.aspect = {value}"
params:
- name: value
type: enum
description: "On, Off. Identical to Geometry > Size & Position > Aspect Lock. Get: '*sizepos.aspect ?'"
- id: set_blanking_enable
label: Set Blanking Enable
kind: action
command: "*blanking.enable = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*blanking.enable ?'"
- id: set_blanking_top
label: Set Top Blanking
kind: action
command: "*blanking.top = {value}"
params:
- name: value
type: integer
description: "1 to 100. Get: '*blanking.top ?'"
- id: set_blanking_bottom
label: Set Bottom Blanking
kind: action
command: "*blanking.bottom = {value}"
params:
- name: value
type: integer
description: "1 to 100. Get: '*blanking.bottom ?'"
- id: set_blanking_left
label: Set Left Blanking
kind: action
command: "*blanking.left = {value}"
params:
- name: value
type: integer
description: "1 to 255. Get: '*blanking.left ?'"
- id: set_blanking_right
label: Set Right Blanking
kind: action
command: "*blanking.right = {value}"
params:
- name: value
type: integer
description: "1 to 255. Get: '*blanking.right ?'"
- id: set_geometry_engine
label: Set Geometry Engine
kind: action
command: "*geometry.engine = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=Keystone, 2=4 Corner, 3=Rotation, 4=Warp. Get: '*geometry.engine ?'"
- id: set_h_keystone
label: Set Horizontal Keystone
kind: action
command: "*h.keystone = {value}"
params:
- name: value
type: integer
description: "-40 to +40. Get: '*h.keystone ?'"
- id: set_v_keystone
label: Set Vertical Keystone
kind: action
command: "*v.keystone = {value}"
params:
- name: value
type: integer
description: "-30 to +30. Get: '*v.keystone ?'"
- id: set_pin_barrel
label: Set Pincushion / Barrel
kind: action
command: "*pin.barrel = {value}"
params:
- name: value
type: integer
description: "-20 to +20. Active when geometry.engine=1 or 3. Get: '*pin.barrel ?'"
- id: set_4corner_ulx
label: Set 4-Corner Upper Left X
kind: action
command: "*4corner.ulx = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.ulx ?'"
- id: set_4corner_uly
label: Set 4-Corner Upper Left Y
kind: action
command: "*4corner.uly = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.uly ?'"
- id: set_4corner_urx
label: Set 4-Corner Upper Right X
kind: action
command: "*4corner.urx = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.urx ?'"
- id: set_4corner_ury
label: Set 4-Corner Upper Right Y
kind: action
command: "*4corner.ury = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.ury ?'"
- id: set_4corner_llx
label: Set 4-Corner Lower Left X
kind: action
command: "*4corner.llx = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.llx ?'"
- id: set_4corner_lly
label: Set 4-Corner Lower Left Y
kind: action
command: "*4corner.lly = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.lly ?'"
- id: set_4corner_lrx
label: Set 4-Corner Lower Right X
kind: action
command: "*4corner.lrx = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.lrx ?'"
- id: set_4corner_lry
label: Set 4-Corner Lower Right Y
kind: action
command: "*4corner.lry = {value}"
params:
- name: value
type: integer
description: "-1000 to +1000. Get: '*4corner.lry ?'"
- id: set_rotation
label: Set Rotation
kind: action
command: "*rotation = {value}"
params:
- name: value
type: integer
description: "-180 to 180. Get: '*rotation ?'"
- id: set_warp_map
label: Set Warp Map
kind: action
command: "*warp.map = {value}"
params:
- name: value
type: integer
description: "0 to 8; 0 = off. Get: '*warp.map ?'"
# --- EDGE BLEND ---
- id: set_array_width
label: Set Array Width
kind: action
command: "*array.width = {value}"
params:
- name: value
type: integer
description: "1 to 4. Get: '*array.width ?'"
- id: set_array_height
label: Set Array Height
kind: action
command: "*array.height = {value}"
params:
- name: value
type: integer
description: "1 to 4. Get: '*array.height ?'"
- id: set_array_hset
label: Set Array Horizontal Position
kind: action
command: "*array.hset = {value}"
params:
- name: value
type: integer
description: "0 to 3. Projector position within segmented array. Get: '*array.hset ?'"
- id: set_array_vset
label: Set Array Vertical Position
kind: action
command: "*array.vset = {value}"
params:
- name: value
type: integer
description: "0 to 3. Get: '*array.vset ?'"
- id: set_scurve_value
label: Set Blend S-Curve Value
kind: action
command: "*scurve.value = {value}"
params:
- name: value
type: integer
description: "10 to 25 (real values 1.0 to 2.5). Get: '*scurve.value ?'"
- id: set_blending
label: Set Blending
kind: action
command: "*blending = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=On, 2=Alignment Pattern. Get: '*blending ?'"
- id: set_segmentation
label: Set Segmentation
kind: action
command: "*segmentation = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*segmentation ?'"
- id: set_eb_top
label: Set Top Blend Region
kind: action
command: "*eb.top = {value}"
params:
- name: value
type: integer
description: "0 to 720 pixels; max equals 720 minus pixels applied to eb.bottom. Get: '*eb.top ?'"
- id: set_eb_bottom
label: Set Bottom Blend Region
kind: action
command: "*eb.bottom = {value}"
params:
- name: value
type: integer
description: "0 to 720 pixels; max equals 720 minus pixels applied to eb.top. Get: '*eb.bottom ?'"
- id: set_eb_left
label: Set Left Blend Region
kind: action
command: "*eb.left = {value}"
params:
- name: value
type: integer
description: "0 to 1280 pixels; max equals 1280 minus pixels applied to eb.right. Get: '*eb.left ?'"
- id: set_eb_right
label: Set Right Blend Region
kind: action
command: "*eb.right = {value}"
params:
- name: value
type: integer
description: "0 to 1280 pixels; max equals 1280 minus pixels applied to eb.left. Get: '*eb.right ?'"
- id: set_eb_blu_unblended
label: Set BLU Unblended Region
kind: action
command: "*eb.blu.unblended = {value}"
params:
- name: value
type: integer
description: "0 to 63. Black Level Uplift. Get: '*eb.blu.unblended ?'"
- id: set_eb_blu_topl
label: Set BLU Upper Left
kind: action
command: "*eb.blu.topl = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.topl ?'"
- id: set_eb_blu_top
label: Set BLU Upper Middle
kind: action
command: "*eb.blu.top = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.top ?'"
- id: set_eb_blu_topr
label: Set BLU Upper Right
kind: action
command: "*eb.blu.topr = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.topr ?'"
- id: set_eb_blu_bottoml
label: Set BLU Lower Left
kind: action
command: "*eb.blu.bottoml = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.bottoml ?'"
- id: set_eb_blu_bottom
label: Set BLU Lower Middle
kind: action
command: "*eb.blu.bottom = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.bottom ?'"
- id: set_eb_blu_bottomr
label: Set BLU Lower Right
kind: action
command: "*eb.blu.bottomr = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.bottomr ?'"
- id: set_eb_blu_midl
label: Set BLU Middle Left
kind: action
command: "*eb.blu.midl = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.midl ?'"
- id: set_eb_blu_midr
label: Set BLU Middle Right
kind: action
command: "*eb.blu.midr = {value}"
params:
- name: value
type: integer
description: "0 to 63. Get: '*eb.blu.midr ?'"
- id: set_eb_blu_x1
label: Set Reduce BLU Width X1 (Top Left)
kind: action
command: "*eb.blu.x1 = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*eb.blu.x1 ?'"
- id: set_eb_blu_y1
label: Set Reduce BLU Width Y1 (Top Left)
kind: action
command: "*eb.blu.y1 = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*eb.blu.y1 ?'"
- id: set_eb_blu_x2
label: Set Reduce BLU Width X2 (Top Right)
kind: action
command: "*eb.blu.x2 = {value}"
params:
- name: value
type: integer
description: "-100 to 0. Get: '*eb.blu.x2 ?'"
- id: set_eb_blu_y2
label: Set Reduce BLU Width Y2 (Top Right)
kind: action
command: "*eb.blu.y2 = {value}"
params:
- name: value
type: integer
description: "-100 to 0. Get: '*eb.blu.y2 ?'"
- id: set_eb_blu_x3
label: Set Reduce BLU Width X3 (Bottom Left)
kind: action
command: "*eb.blu.x3 = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*eb.blu.x3 ?'"
- id: set_eb_blu_y3
label: Set Reduce BLU Width Y3 (Bottom Left)
kind: action
command: "*eb.blu.y3 = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*eb.blu.y3 ?'"
- id: set_eb_blu_x4
label: Set Reduce BLU Width X4 (Bottom Right)
kind: action
command: "*eb.blu.x4 = {value}"
params:
- name: value
type: integer
description: "-100 to 0. Get: '*eb.blu.x4 ?'"
- id: set_eb_blu_y4
label: Set Reduce BLU Width Y4 (Bottom Right)
kind: action
command: "*eb.blu.y4 = {value}"
params:
- name: value
type: integer
description: "-100 to 0. Get: '*eb.blu.y4 ?'"
- id: eb_reset
label: Edge Blend Reset
kind: action
command: "*eb.reset = {value}"
params:
- name: value
type: integer
description: "1=reset width, 2=reset offset, 3=reset width and offset, 4=reset black level uplift, 5=reset width and BLU, 6=reset offset and BLU offset, 7=reset all"
# --- PIP ---
- id: set_pip_mode
label: Set PIP Mode
kind: action
command: "*pip.mode = {value}"
params:
- name: value
type: integer
description: "0=Off, 1=PIP, 2=PAP, 3=POP. Get: '*pip.mode ?'"
- id: set_pip_input
label: Set PIP Input
kind: action
command: "*pip.input = {value}"
params:
- name: value
type: integer
description: "0=CVBS 1, 1=CVBS 2, 2=S-Video, 3=Component, 4=VGA, 5=3G-SDI, 6=DVI, 7=HDMI. Get: '*pip.input ?'"
- id: set_pip_size
label: Set PIP Size
kind: action
command: "*pip.size = {value}"
params:
- name: value
type: integer
description: "0=small, 1=medium, 2=large. Get: '*pip.size ?'"
- id: set_pip_position
label: Set PIP Position
kind: action
command: "*pip.position = {value}"
params:
- name: value
type: integer
description: "0=Top Left, 1=Top Right, 2=Bottom Left, 3=Bottom Right, 4=Custom. Get: '*pip.position ?'"
- id: set_pip_hpos
label: Set PIP Horizontal Position
kind: action
command: "*pip.hpos = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*pip.hpos ?'"
- id: set_pip_vpos
label: Set PIP Vertical Position
kind: action
command: "*pip.vpos = {value}"
params:
- name: value
type: integer
description: "0 to 100. Get: '*pip.vpos ?'"
# --- 3D (3D models only) ---
- id: set_3d_enable
label: Set 3D Enable
kind: action
command: "*3d.enable = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*3d.enable ?'"
- id: set_3d_frmultiplier
label: Set 3D Frame Multiplier
kind: action
command: "*3d.frmultiplier = {value}"
params:
- name: value
type: integer
description: "1=x1, 2=x2, 3=x3. Get: '*3d.frmultiplier ?'"
- id: set_3d_darktime
label: Set 3D Dark Time
kind: action
command: "*3d.darktime = {value}"
params:
- name: value
type: integer
description: "0=0 us, 1=650 us, 2=1300 us, 3=7500 us. Get: '*3d.darktime ?'"
- id: set_3d_syncoffset
label: Set 3D Sync Offset
kind: action
command: "*3d.syncoffset = {value}"
params:
- name: value
type: integer
description: "-15 to +15, representing -1500 us to +1500 us. Get: '*3d.syncoffset ?'"
- id: set_3d_syncpolarity
label: Set 3D Sync Polarity
kind: action
command: "*3d.syncpolarity = {value}"
params:
- name: value
type: enum
description: "pos, neg. Get: '*3d.syncpolarity ?'"
- id: set_3d_dominance
label: Set 3D Dominance
kind: action
command: "*3d.dominance = {value}"
params:
- name: value
type: enum
description: "left, right. Get: '*3d.dominance ?'"
- id: set_3d_format
label: Set 3D Format
kind: action
command: "*3d.format = {value}"
params:
- name: value
type: enum
description: "auto, seq, fpack, tab, sbs. Get: '*3d.format ?'"
# --- LAMPS ---
- id: query_lamp1_hours
label: Query Lamp 1 Hours
kind: query
command: "*lamp1.hours ?"
params: []
- id: query_lamp1_strikes
label: Query Lamp 1 Strikes
kind: query
command: "*lamp1.strikes ?"
params: []
- id: query_lamp1_serial
label: Query Lamp 1 Serial
kind: query
command: "*lamp1.serial ?"
params: []
- id: query_lamp1_status
label: Query Lamp 1 Status
kind: query
command: "*lamp1.status ?"
params: []
- id: set_lamp_power
label: Set Lamp Power
kind: action
command: "*lamp.power = {value}"
params:
- name: value
type: integer
description: "1 to 100; model-dependent minimum (HIGHlite 660/730/740/8000: 85; Lightning: 60; Mercury 930/Titan 800/930/Quad/Super Quad/Quad 2000: 80 - lower values clamped to minimum). Get: '*lamp.power ?'"
- id: set_lamp_mode
label: Set Lamp Mode
kind: action
command: "*lamp.mode = {value}"
params:
- name: value
type: integer
description: "Dual-lamp: 0=both, 1=lamp 1, 2=lamp 2, 3=auto 1. Quad-lamp: 0=all, 1=auto 3, 2=auto 2, 3=auto 1, 4=lamps 1,2,3, 5=1,2,4, 6=1,3,4, 7=2,3,4, 8=1+2, 9=1+3, 10=1+4, 11=2+3, 12=2+4, 13=3+4, 14=lamp 1, 15=lamp 2, 16=lamp 3, 17=lamp 4. Get: '*lamp.mode ?'"
- id: query_lamp2_hours
label: Query Lamp 2 Hours
kind: query
command: "*lamp2.hours ?"
params: []
- id: query_lamp2_strikes
label: Query Lamp 2 Strikes
kind: query
command: "*lamp2.strikes ?"
params: []
- id: query_lamp2_serial
label: Query Lamp 2 Serial
kind: query
command: "*lamp2.serial ?"
params: []
- id: query_lamp2_status
label: Query Lamp 2 Status
kind: query
command: "*lamp2.status ?"
params: []
- id: set_compensation_mode
label: Set Lamp Compensation Mode
kind: action
command: "*compensation.mode = {value}"
params:
- name: value
type: enum
description: "auto, manual. Get: '*compensation.mode ?'"
- id: set_compensation
label: Set Lamp Compensation
kind: action
command: "*compensation = {value}"
params:
- name: value
type: integer
description: "1 to 200. Get: '*compensation ?'"
- id: set_conditioning
label: Set Lamp Conditioning
kind: action
command: "*conditioning = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*conditioning ?'"
- id: query_lamp3_hours
label: Query Lamp 3 Hours
kind: query
command: "*lamp3.hours ?"
params: []
- id: query_lamp4_hours
label: Query Lamp 4 Hours
kind: query
command: "*lamp4.hours ?"
params: []
- id: query_lamp3_strikes
label: Query Lamp 3 Strikes
kind: query
command: "*lamp3.strikes ?"
params: []
- id: query_lamp4_strikes
label: Query Lamp 4 Strikes
kind: query
command: "*lamp4.strikes ?"
params: []
- id: query_lamp3_serial
label: Query Lamp 3 Serial
kind: query
command: "*lamp3.serial ?"
params: []
- id: query_lamp4_serial
label: Query Lamp 4 Serial
kind: query
command: "*lamp4.serial ?"
params: []
- id: query_lamp3_status
label: Query Lamp 3 Status
kind: query
command: "*lamp3.status ?"
params: []
- id: query_lamp4_status
label: Query Lamp 4 Status
kind: query
command: "*lamp4.status ?"
params: []
# --- SETUP ---
- id: set_orientation
label: Set Orientation
kind: action
command: "*orientation = {value}"
params:
- name: value
type: integer
description: "0=Desktop Front, 1=Ceiling Front, 2=Desktop Rear, 3=Ceiling Rear. Get: '*orientation ?'"
- id: set_control_dhcp
label: Set Control DHCP
kind: action
command: "*control.dhcp = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*control.dhcp ?'"
- id: set_control_ip
label: Set Control IP Address
kind: action
command: "*control.ip = {value}"
params:
- name: value
type: string
description: "Valid IP address, format xxx.xxx.xxx.xxx. Get: '*control.ip ?'"
- id: set_control_subnet
label: Set Control Subnet Mask
kind: action
command: "*control.subnet = {value}"
params:
- name: value
type: string
description: "Valid subnet address, format xxx.xxx.xxx.xxx. Get: '*control.subnet ?'"
- id: set_shutter
label: Set Shutter
kind: action
command: "*shutter = {value}"
params:
- name: value
type: enum
description: "on or open (close shutter/black), off or close (open shutter/picture). Get: '*shutter ?'"
- id: set_ir_address
label: Set IR Address
kind: action
command: "*ir.address = {value}"
params:
- name: value
type: integer
description: "0 to 255. Get: '*ir.address ?'"
- id: set_power
label: Set Power
kind: action
command: "*power = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*power ?'"
- id: factory_reset
label: Factory Reset
kind: action
command: "*factory.reset"
params: []
- id: identify
label: Identify Projector
kind: action
command: "*identify"
params: []
- id: set_latency
label: Set Latency Mode
kind: action
command: "*latency = {value}"
params:
- name: value
type: integer
description: "0=Low Latency, 1=Best Video. Get: '*latency ?'"
- id: set_dvi_boosteq
label: Set DVI Boost EQ
kind: action
command: "*dvi.boosteq = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*dvi.boosteq ?'"
- id: set_digital_colspace
label: Set Digital Color Space
kind: action
command: "*digital.colspace = {value}"
params:
- name: value
type: integer
description: "0=RGB, 1=YPbPr, 2=Auto. Get: '*digital.colspace ?'"
- id: set_digital_range
label: Set Digital Range
kind: action
command: "*digital.range = {value}"
params:
- name: value
type: integer
description: "0=full, 1=limited, 2=auto. Get: '*digital.range ?'"
- id: set_dvi_port
label: Set DVI Port Mode
kind: action
command: "*dvi.port = {value}"
params:
- name: value
type: integer
description: "0=digital, 1=analog. Get: '*dvi.port ?'"
- id: set_component_colspace
label: Set Component Color Space
kind: action
command: "*component.colspace = {value}"
params:
- name: value
type: integer
description: "0=RGB, 1=YPbPr. Get: '*component.colspace ?'"
- id: set_component_synctype
label: Set Component Sync Type
kind: action
command: "*component.synctype = {value}"
params:
- name: value
type: integer
description: "0=3 wire, 1=4 wire, 2=Auto. Get: '*component.synctype ?'"
- id: set_3gsdi_stream
label: Set 3G-SDI Stream
kind: action
command: "*3gsdi.stream = {value}"
params:
- name: value
type: integer
description: "0=Stream 1, 1=Stream 2. Get: '*3gsdi.stream ?'"
- id: set_lan_dhcp
label: Set LAN DHCP
kind: action
command: "*lan.dhcp = {value}"
params:
- name: value
type: enum
description: "On, Off. Get: '*lan.dhcp ?'"
- id: set_lan_ip
label: Set LAN IP Address
kind: action
command: "*lan.ip = {value}"
params:
- name: value
type: string
description: "Valid IP address, format xxx.xxx.xxx.xxx. Get: '*lan.ip ?'"
- id: set_lan_subnet
label: Set LAN Subnet Mask
kind: action
command: "*lan.subnet = {value}"
params:
- name: value
type: string
description: "Valid subnet address, format xxx.xxx.xxx.xxx. Get: '*lan.subnet ?'"
- id: set_configuration
label: Set Configuration Mode
kind: action
command: "*confguration = {value}"
params:
- name: value
type: integer
description: "0=PIP, 1=Edge Blend. Get: '*confguration ?'. NOTE: command spelling 'confguration' is verbatim from source (appears to be vendor typo of 'configuration')"
# --- INFORMATION ---
- id: query_sw_version
label: Query Software Version
kind: query
command: "*sw.version ?"
params: []
- id: query_board_id
label: Query Board ID
kind: query
command: "*board.id ?"
params: []
- id: query_fw_version
label: Query Firmware Version
kind: query
command: "*fw.version ?"
params: []
- id: query_from_version
label: Query Factory ROM Version
kind: query
command: "*from.version ?"
params: []
- id: query_lens_version
label: Query Lens Mount Version
kind: query
command: "*lens.version ?"
params: []
- id: query_seq_version
label: Query Formatter Sequences Version
kind: query
command: "*seq.version ?"
params: []
- id: query_model_name
label: Query Model Name
kind: query
command: "*model.name ?"
params: []
- id: query_serial
label: Query Projector Serial Number
kind: query
command: "*serial ?"
params: []
- id: query_inlet_temp
label: Query Air Inlet Temperature
kind: query
command: "*inlet.temp ?"
params: []
- id: query_dmd_temp
label: Query DMD Temperature
kind: query
command: "*dmd.temp ?"
params: []
- id: query_board_id3d
label: Query 3D Board ID
kind: query
command: "*board.id3d ?"
params: []
- id: query_fw_version3d
label: Query 3D Firmware Version
kind: query
command: "*fw.version3d ?"
params: []
Feedbacks
- id: ack
type: string
description: 'Acknowledgement. Response begins with "ACK" followed by echo of the command, e.g. "*aspect.ratio = 1" returns "ACK aspect.ratio = 1".'
- id: nak
type: enum
values:
- "NAK Unknown Command"
- "NAK Invalid Parameter"
- "NAK Missing Parameter"
- "NAK Command Not Applicable"
- "NAK ERROR"
- "NAK Invalid number of parameters"
description: "Negative acknowledgement with brief problem description."
- id: power_state
type: enum
values: ["On", "Off"]
description: "Returned by '*power ?'"
- id: input_source
type: integer
description: "Returned by '*input ?'; value map model-dependent (see select_input)"
- id: lamp1_hours
type: string
description: "Lamp hours in HH:MM format, returned by '*lamp1.hours ?' (lamp2/lamp3/lamp4.hours identical)"
- id: lamp1_status
type: enum
values:
- "0 = Off"
- "1 = Pre cooling"
- "2 = Ignition"
- "3 = Ignition confirm"
- "4 = Enable communication"
- "5 = Delay cooling"
- "6 = Warm up eco mode"
- "7 = Warm up"
- "8 = Cool down no restrike"
- "9 = Cool down ok restrike"
- "10 = Normal"
- "11 = Error"
- "12 = Ignition retry"
- "13 = Restrike delay"
- "14 = Enable CSI"
- "15 = Deferred shutdown"
- "16 = Shutdown confirm"
- "17 = Error shutdown"
- "18 = Lamp warmup stage 1"
- "19 = Lamp warmup stage 2"
description: "Returned by '*lampN.status ?' (same states for lamps 1-4)"
- id: inlet_temp
type: number
description: "Temperature in degrees C at air inlets, returned by '*inlet.temp ?'"
- id: dmd_temp
type: number
description: "Temperature in degrees C at DMD, returned by '*dmd.temp ?'"
- id: model_name
type: string
description: "Returned by '*model.name ?'"
- id: sw_version
type: string
description: "Software release version, returned by '*sw.version ?' (identical to Information > Configuration > Interface)"
Variables
# All settable parameters in this protocol are documented by the source as
# commands (with '=' set operator) and are therefore represented as
# parameterized actions in the Actions section. No standalone variables.
Events
# No unsolicited notifications documented in source. Device responds only
# with ACK/NAK (and query values) to sent commands.
Macros
# No multi-step sequences documented in source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings, interlock procedures, or power-on
# sequencing requirements stated in source.
Notes
- Command framing: ASCII string starting with
*, terminated by ASCII CR (code 13). Format*command operator <value>; spaces required before the operator and the value.*aspect.ratio=4(no spaces) is invalid per source. - Sending a command name with no operator sets its default value (e.g.
*aspect.ratiosets aspect ratio to 0 / Source). - Model applicability varies per command; the source assigns each command to model badges (2D/3D/LED/330/660/800/930/Quad/SuperQuad/Quad2000/8000). HIGHlite 660/730/740 2D models need a manufacturer's upgrade for this protocol.
inputvalue map is model-dependent: 0-8 universal; 9=Main/DVI, 10=Sub/HDMI, 11=Dual Pipe on Mercury/LED/Titan 3D models; HIGHlite 3D models use 9=HDBaseT, 10=DVI 2, 11=HDMI 2, 12=HDMI 3, 13=Dual Pipe.test.patternonly accessible when*input = 8.freeze = onpersists the frozen frame even if the source is disconnected.- Formatter test patterns display immediately regardless of input; send
*formatter.pattern = 21to return to normal picture; OSD unavailable while displayed. - All lens commands except
nudgecontinue moving until*lens.stopor the limit is reached. lamp.powerminimum is model-dependent (85 for HIGHlite 660/730/740/8000, 60 for Lightning, 80 for Mercury 930/Titan 800/930/Quad/SuperQuad/Quad 2000); lower values are clamped up by the projector.confgurationcommand spelling is verbatim from the source (apparent vendor typo for "configuration").- Default network settings: IP 192.168.0.100, TCP port 7000.
- Web Configuration Utility at http:// mirrors all OSD functions; DiscoveryTool_V1.0.exe finds projectors on the same subnet (identical IP up to third octet).
Provenance
source_domains:
- digitalprojection.co.uk
- github.com
- scribd.com
source_urls:
- "https://digitalprojection.co.uk/dpdownloads/Protocol/Protocol%20Guide%20Rev%20A.pdf"
- https://github.com/depili
- https://github.com/depili/betabrite
- https://www.scribd.com/document/440475150/Titan-ITCH-GLIMPSE-Protocol-Specifications
retrieved_at: 2026-08-16T01:40:21.783Z
last_checked_at: 2026-08-19T09:14:57.982Z
Verification Summary
verdict: verified
checked_at: 2026-08-19T09:14:57.982Z
matched_actions: 175
action_count: 175
confidence: medium
summary: "All 175 spec actions (Commands + Feedbacks counted as query_command-bearing) match literal wire tokens in the source command guide; transport parameters (port 7000, baud 38400 8N1, HTTP base) are verbatim. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source document is branded \"Digital Projection\" in body text/tables; manufacturer recorded as \"Depili\" per entity bootstrap token"
- "HIGHlite 660/730/740 2D models require a manufacturer's upgrade before this protocol can be used"
- "no firmware version compatibility ranges stated in source"
- "no safety warnings, interlock procedures, or power-on"
- "source document branded \"Digital Projection\" (doc 115-482A); manufacturer token per entity bootstrap"
- "firmware/protocol version compatibility not stated in source"
- "command availability per exact model badge not exhaustively cross-listed here; see source tables"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0