Summary
Sharp/NEC Xp X141Q W projector control spec covering RS-232C serial and wired/wireless LAN (TCP) interfaces. Binary command protocol with hex-byte frames, checksum byte (sum of preceding bytes mod 256), and fixed 6-byte command header. Covers power, input switching, mutes, lens/shutter, picture/volume adjust, status queries, eco mode, edge blending, and PIP/PbP control.
Transport
protocols:
- tcp
- serial
addressing:
port: 7142
serial:
baud_rate: 115200 # source lists 115200/38400/19200/9600/4800 bps as switchable; default not stated
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # UNRESOLVED: flow_control not stated; full-duplex mode stated
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # inferred: 015 POWER ON / 016 POWER OFF commands
- queryable # inferred: numerous query commands (009, 037, 078-*, 305-*, etc.)
- levelable # inferred: 030-1 PICTURE ADJUST, 030-2 VOLUME ADJUST
- routable # inferred: 018 INPUT SW CHANGE
Actions
- id: error_status_request_009
label: Error Status Request (009)
kind: query
command: "00h 88h 00h 00h 00h 88h"
params: []
- id: power_on_015
label: Power On (015)
kind: action
command: "02h 00h 00h 00h 00h 02h"
params: []
- id: power_off_016
label: Power Off (016)
kind: action
command: "02h 01h 00h 00h 00h 03h"
params: []
- id: input_sw_change_018
label: Input Switch Change (018)
kind: action
command: "02h 03h 00h 00h 02h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Input terminal byte (e.g. 06h = video port). Full code list in source Appendix 'Supplementary Information by Command' - not present in this source. # UNRESOLVED"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: picture_mute_on_020
label: Picture Mute On (020)
kind: action
command: "02h 10h 00h 00h 00h 12h"
params: []
- id: picture_mute_off_021
label: Picture Mute Off (021)
kind: action
command: "02h 11h 00h 00h 00h 13h"
params: []
- id: sound_mute_on_022
label: Sound Mute On (022)
kind: action
command: "02h 12h 00h 00h 00h 14h"
params: []
- id: sound_mute_off_023
label: Sound Mute Off (023)
kind: action
command: "02h 13h 00h 00h 00h 15h"
params: []
- id: onscreen_mute_on_024
label: Onscreen Mute On (024)
kind: action
command: "02h 14h 00h 00h 00h 16h"
params: []
- id: onscreen_mute_off_025
label: Onscreen Mute Off (025)
kind: action
command: "02h 15h 00h 00h 00h 17h"
params: []
- id: picture_adjust_030_1
label: Picture Adjust (030-1)
kind: action
command: "03h 10h 00h 00h 05h {data01} FFh {data02} {data03} {data04} {cks}"
params:
- name: data01
type: string
description: "Adjustment target: 00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness"
- name: data02
type: string
description: "Adjustment mode: 00h=absolute, 01h=relative"
- name: data03
type: string
description: "Adjustment value (low-order 8 bits)"
- name: data04
type: string
description: "Adjustment value (high-order 8 bits)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: volume_adjust_030_2
label: Volume Adjust (030-2)
kind: action
command: "03h 10h 00h 00h 05h 05h 00h {data01} {data02} {data03} {cks}"
params:
- name: data01
type: string
description: "Adjustment mode: 00h=absolute, 01h=relative"
- name: data02
type: string
description: "Adjustment value (low-order 8 bits)"
- name: data03
type: string
description: "Adjustment value (high-order 8 bits)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: aspect_adjust_030_12
label: Aspect Adjust (030-12)
kind: action
command: "03h 10h 00h 00h 05h 18h 00h 00h {data01} 00h {cks}"
params:
- name: data01
type: string
description: "Aspect value byte. Code list in source Appendix 'Supplementary Information by Command' - not present in this source. # UNRESOLVED"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: other_adjust_030_15
label: Other Adjust (030-15)
kind: action
command: "03h 10h 00h 00h 05h {data01} {data02} {data03} {data04} {data05} {cks}"
params:
- name: data01
type: string
description: "Adjustment target MSB; pair (DATA01,DATA02). Documented target: 96h/FFh = LAMP ADJUST / LIGHT ADJUST"
- name: data02
type: string
description: "Adjustment target LSB (e.g. FFh for LAMP/LIGHT ADJUST)"
- name: data03
type: string
description: "Adjustment mode: 00h=absolute, 01h=relative"
- name: data04
type: string
description: "Adjustment value (low-order 8 bits)"
- name: data05
type: string
description: "Adjustment value (high-order 8 bits)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: information_request_037
label: Information Request (037)
kind: query
command: "03h 8Ah 00h 00h 00h 8Dh"
params: []
- id: filter_usage_information_request_037_3
label: Filter Usage Information Request (037-3)
kind: query
command: "03h 95h 00h 00h 00h 98h"
params: []
- id: lamp_information_request_037_4
label: Lamp Information Request 3 (037-4)
kind: query
command: "03h 96h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Lamp selector: 00h=Lamp 1, 01h=Lamp 2 (two-lamp models only)"
- name: data02
type: string
description: "Content: 01h=Lamp usage time (seconds), 04h=Lamp remaining life (%)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: carbon_savings_information_request_037_6
label: Carbon Savings Information Request (037-6)
kind: query
command: "03h 9Ah 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Type: 00h=Total Carbon Savings, 01h=Carbon Savings during operation"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: remote_key_code_050
label: Remote Key Code (050)
kind: action
command: "02h 0Fh 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Key code low byte (WORD type). E.g. 02h=POWER ON, 03h=POWER OFF, 05h=AUTO, 06h=MENU, 07h=UP, 08h=DOWN, 09h=RIGHT, 0Ah=LEFT, 0Bh=ENTER, 0Ch=EXIT, 0Dh=HELP, 0Fh=MAGNIFY UP, 10h=MAGNIFY DOWN, 13h=MUTE, 29h=PICTURE, 4Bh=COMPUTER1, 4Ch=COMPUTER2, 4Fh=VIDEO1, 51h=S-VIDEO1, 84h=VOLUME UP, 85h=VOLUME DOWN, 8Ah=FREEZE, A3h=ASPECT, D7h=SOURCE, EEh=LAMP MODE/ECO"
- name: data02
type: string
description: "Key code high byte (00h for all listed codes)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: shutter_close_051
label: Shutter Close (051)
kind: action
command: "02h 16h 00h 00h 00h 18h"
params: []
- id: shutter_open_052
label: Shutter Open (052)
kind: action
command: "02h 17h 00h 00h 00h 19h"
params: []
- id: lens_control_053
label: Lens Control (053)
kind: action
command: "02h 18h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Lens target. Source documents 06h=Periphery Focus. # UNRESOLVED: other target codes not in this source"
- name: data02
type: string
description: "Motion: 00h=Stop, 01h=+1s, 02h=+0.5s, 03h=+0.25s, 7Fh=plus dir, 81h=minus dir, FDh=-0.25s, FEh=-0.5s, FFh=-1s"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_control_request_053_1
label: Lens Control Request (053-1)
kind: query
command: "02h 1Ch 00h 00h 02h {data01} 00h {cks}"
params:
- name: data01
type: string
description: "Lens target (same code space as 053 LENS CONTROL). # UNRESOLVED: full code list not in this source"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_control_2_053_2
label: Lens Control 2 (053-2)
kind: action
command: "02h 1Dh 00h 00h 04h {data01} {data02} {data03} {data04} {cks}"
params:
- name: data01
type: string
description: "Lens target; FFh=Stop (mode/value ignored when Stop)"
- name: data02
type: string
description: "Adjustment mode: 00h=absolute, 02h=relative"
- name: data03
type: string
description: "Adjustment value (low-order 8 bits)"
- name: data04
type: string
description: "Adjustment value (high-order 8 bits)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_memory_control_053_3
label: Lens Memory Control (053-3)
kind: action
command: "02h 1Eh 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Operation: 00h=MOVE, 01h=STORE, 02h=RESET"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: reference_lens_memory_control_053_4
label: Reference Lens Memory Control (053-4)
kind: action
command: "02h 1Fh 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Operation: 00h=MOVE, 01h=STORE, 02h=RESET (applies to profile set via 053-10)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_memory_option_request_053_5
label: Lens Memory Option Request (053-5)
kind: query
command: "02h 20h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Option: 00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_memory_option_set_053_6
label: Lens Memory Option Set (053-6)
kind: action
command: "02h 21h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Option: 00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: data02
type: string
description: "Setting: 00h=OFF, 01h=ON"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_information_request_053_7
label: Lens Information Request (053-7)
kind: query
command: "02h 22h 00h 00h 01h 00h 25h"
params: []
- id: lens_profile_set_053_10
label: Lens Profile Set (053-10)
kind: action
command: "02h 27h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Profile number: 00h=Profile 1, 01h=Profile 2"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lens_profile_request_053_11
label: Lens Profile Request (053-11)
kind: query
command: "02h 28h 00h 00h 00h 2Ah"
params: []
- id: gain_parameter_request_060_1
label: Gain Parameter Request 3 (060-1)
kind: query
command: "03h 05h 00h 00h 03h {data01} 00h 00h {cks}"
params:
- name: data01
type: string
description: "Adjusted value name: 00h=PICTURE/BRIGHTNESS, 01h=PICTURE/CONTRAST, 02h=PICTURE/COLOR, 03h=PICTURE/HUE, 04h=PICTURE/SHARPNESS, 05h=VOLUME, 96h=LAMP ADJUST/LIGHT ADJUST"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: setting_request_078_1
label: Setting Request (078-1)
kind: query
command: "00h 85h 00h 00h 01h 00h 86h"
params: []
- id: running_status_request_078_2
label: Running Status Request (078-2)
kind: query
command: "00h 85h 00h 00h 01h 01h 87h"
params: []
- id: input_status_request_078_3
label: Input Status Request (078-3)
kind: query
command: "00h 85h 00h 00h 01h 02h 88h"
params: []
- id: mute_status_request_078_4
label: Mute Status Request (078-4)
kind: query
command: "00h 85h 00h 00h 01h 03h 89h"
params: []
- id: model_name_request_078_5
label: Model Name Request (078-5)
kind: query
command: "00h 85h 00h 00h 01h 04h 8Ah"
params: []
- id: cover_status_request_078_6
label: Cover Status Request (078-6)
kind: query
command: "00h 85h 00h 00h 01h 05h 8Bh"
params: []
- id: freeze_control_079
label: Freeze Control (079)
kind: action
command: "01h 98h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "01h=freeze on, 02h=freeze off"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: information_string_request_084
label: Information String Request (084)
kind: query
command: "00h D0h 00h 00h 03h 00h {data01} 01h {cks}"
params:
- name: data01
type: string
description: "Information type: 03h=Horizontal sync frequency, 04h=Vertical sync frequency"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: eco_mode_request_097_8
label: Eco Mode Request (097-8)
kind: query
command: "03h B0h 00h 00h 01h 07h BBh"
params: []
- id: lan_projector_name_request_097_45
label: LAN Projector Name Request (097-45)
kind: query
command: "03h B0h 00h 00h 01h 2Ch E0h"
params: []
- id: lan_mac_address_status_request_097_155
label: LAN MAC Address Status Request 2 (097-155)
kind: query
command: "03h B0h 00h 00h 02h 9Ah 00h 4Fh"
params: []
- id: pip_pbp_request_097_198
label: PIP/Picture by Picture Request (097-198)
kind: query
command: "03h B0h 00h 00h 02h C5h {data01} {cks}"
params:
- name: data01
type: string
description: "Parameter: 00h=MODE, 01h=START POSITION, 02h=SUB INPUT/SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: edge_blending_mode_request_097_243_1
label: Edge Blending Mode Request (097-243-1)
kind: query
command: "03h B0h 00h 00h 02h DFh 00h 94h"
params: []
- id: eco_mode_set_098_8
label: Eco Mode Set (098-8)
kind: action
command: "03h B1h 00h 00h 02h 07h {data01} {cks}"
params:
- name: data01
type: string
description: "Eco mode value byte. Code list in source Appendix 'Supplementary Information by Command' - not present in this source. # UNRESOLVED"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: lan_projector_name_set_098_45
label: LAN Projector Name Set (098-45)
kind: action
command: "03h B1h 00h 00h 12h 2Ch {data01}-{data16} 00h {cks}"
params:
- name: data01_to_data16
type: string
description: "Projector name (up to 16 bytes)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: pip_pbp_set_098_198
label: PIP/Picture by Picture Set (098-198)
kind: action
command: "03h B1h 00h 00h 03h C5h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Parameter: 00h=MODE, 01h=START POSITION, 02h=SUB INPUT/SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: data02
type: string
description: "Setting value (varies by DATA01: MODE: 00h=PIP/01h=PbP; START POSITION: 00h=TOP-LEFT/01h=TOP-RIGHT/02h=BOTTOM-LEFT/03h=BOTTOM-RIGHT; SUB INPUT codes in source Appendix - not present. # UNRESOLVED)"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: edge_blending_mode_set_098_243_1
label: Edge Blending Mode Set (098-243-1)
kind: action
command: "03h B1h 00h 00h 03h DFh 00h {data01} {cks}"
params:
- name: data01
type: string
description: "Setting value: 00h=OFF, 01h=ON"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
- id: base_model_type_request_305_1
label: Base Model Type Request (305-1)
kind: query
command: "00h BFh 00h 00h 01h 00h C0h"
params: []
- id: serial_number_request_305_2
label: Serial Number Request (305-2)
kind: query
command: "00h BFh 00h 00h 02h 01h 06h C8h"
params: []
- id: basic_information_request_305_3
label: Basic Information Request (305-3)
kind: query
command: "00h BFh 00h 00h 01h 02h C2h"
params: []
- id: audio_select_set_319_10
label: Audio Select Set (319-10)
kind: action
command: "03h C9h 00h 00h 03h 09h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Input terminal byte. Code list in source Appendix 'Supplementary Information by Command' - not present in this source. # UNRESOLVED"
- name: data02
type: string
description: "Setting value: 00h=terminal specified in DATA01, 01h=BNC, 02h=COMPUTER"
- name: cks
type: string
description: "Checksum byte = sum of all preceding bytes, low-order 8 bits."
Feedbacks
# All queries return a response frame. Success responses begin with 2Xh, error
# responses begin with AXh. Format: "<resp_msb> <cmd_lsb> <ID1> <ID2> <LEN> <DATA...> <CKS>"
# ID1 = projector control ID, ID2 = model code (both returned by device).
# Below are documented response payloads per query:
- id: error_status_response
type: bytes
description: "009 response: 20h 88h <ID1> <ID2> 0Ch <DATA01>-<DATA12> <CKS>. DATA01-12 = error bitfields (bit=0 normal, bit=1 error). See source for full bit map (cover/fan/temp/lamp/formatter/mirror cover/etc.)."
- id: power_state
type: enum
values: [standby, power_on, cooling, standby_error, standby_sleep, standby_power_saving, network_standby]
description: "078-2 DATA03: 00h=Standby, 01h=Power on; 078-2 DATA06: 00h=Standby(Sleep), 04h=Power on, 05h=Cooling, 06h=Standby(error), 0Fh=Standby(Power saving), 10h=Network standby"
- id: cooling_process
type: enum
values: [not_executed, during_execution, not_supported]
description: "078-2 DATA04: 00h=Not executed, 01h=During execution, FFh=Not supported"
- id: power_on_off_process
type: enum
values: [not_executed, during_execution, not_supported]
description: "078-2 DATA05: 00h=Not executed, 01h=During execution, FFh=Not supported"
- id: mute_status
type: composite
description: "078-4 response: DATA01=Picture mute, DATA02=Sound mute, DATA03=Onscreen mute, DATA04=Forced onscreen mute, DATA05=Onscreen display (each 00h=Off/01h=On or Not displayed/Displayed)"
- id: cover_status
type: enum
values: [normal_open, closed]
description: "078-6 DATA01: 00h=Normal (cover opened), 01h=Cover closed"
- id: lamp_info
type: composite
description: "037-4 response: DATA03-06 = lamp usage time (seconds) or remaining life (%) per DATA02 request. Negative remaining life if replacement deadline exceeded."
- id: filter_info
type: composite
description: "037-3 response: DATA01-04=Filter usage time (seconds), DATA05-08=Filter alarm start time (seconds). -1 if undefined."
- id: carbon_savings
type: composite
description: "037-6 response: DATA02-05=Carbon Savings (kg, max 99999), DATA06-09=Carbon Savings (mg, max 999999)"
- id: lens_position
type: composite
description: "053-1 response: DATA02-03=upper limit, DATA04-05=lower limit, DATA06-07=current value (16-bit signed)"
- id: lens_operation_status
type: bitmask
description: "053-7 response DATA01: Bit0=Lens memory, Bit1=Zoom, Bit2=Focus, Bit3=Lens Shift(H), Bit4=Lens Shift(V) (0=Stop, 1=During operation)"
- id: lens_profile
type: enum
values: [profile_1, profile_2]
description: "053-11 response DATA01: 00h=Profile 1, 01h=Profile 2"
- id: gain_parameter
type: composite
description: "060-1 response: DATA01=status(00h display N/A, 01h adjust N/A, 02h OK, FFh no such gain), DATA02-09=limits/default/current, DATA10-13=wide/narrow adjustment widths, DATA14=default validity"
- id: eco_mode_value
type: raw
description: "097-8 response DATA01: eco/light/lamp mode value. Code list in source Appendix - not present. # UNRESOLVED"
- id: projector_name
type: string
description: "097-45 response DATA01-17 / 098-45 echoes name. NUL-terminated."
- id: mac_address
type: bytes
description: "097-155 response DATA01-06: MAC address (6 bytes)"
- id: pip_pbp_value
type: composite
description: "097-198 response DATA02: varies by queried param (MODE/START POSITION/SUB INPUT)"
- id: edge_blending_value
type: enum
values: [off, on]
description: "097-243-1 response DATA01: 00h=OFF, 01h=ON"
- id: model_name
type: string
description: "078-5 response DATA01-32: model name, NUL-terminated"
- id: base_model_type
type: composite
description: "305-1 response: DATA01-02=base model type, DATA03-11=model name, DATA12-13=base model type. Code list in source Appendix - not present. # UNRESOLVED"
- id: serial_number
type: string
description: "305-2 response DATA01-16: serial number, NUL-terminated"
- id: basic_information
type: composite
description: "305-3 response: DATA01=operation status, DATA02=content displayed, DATA03-04=signal types, DATA05=display signal type, DATA06=video mute, DATA07=sound mute, DATA08=onscreen mute, DATA09=freeze status"
- id: projector_information
type: composite
description: "037 response: DATA01-49=Projector name, DATA83-86=Lamp usage time (seconds), DATA87-90=Filter usage time (seconds). Updated at 1-minute intervals."
- id: input_switch_result
type: enum
values: [success, ended_with_error_no_signal]
description: "018 response DATA01: FFh = ended with error (no signal switch)"
- id: remote_key_result
type: enum
values: [success, error]
description: "050 response DATA01: FFh = ended with error"
- id: adjust_result
type: enum
values: [success, error]
description: "030-1/030-2/030-12/030-15 response DATA01-02: 0000h=success, other=error"
- id: sync_frequency
type: string
description: "084 response DATA03-??: horizontal (DATA01=03h) or vertical (DATA01=04h) sync frequency string, NUL-terminated"
- id: setting_info
type: composite
description: "078-1 response: DATA01-03=base model type, DATA04=sound function(00h N/A, 01h available), DATA05=profile number(00h none, 01h clock, 02h sleep timer, 03h both)"
Variables
# Settable parameters not covered as discrete actions are embedded in the
# parameterized Actions above (picture/volume/lens gains, eco mode, projector
# name, edge blending, PIP/PbP). No additional standalone variables documented.
# UNRESOLVED: none additional identified in source
Events
# Source documents no unsolicited notifications. All responses are replies to
# commands. # UNRESOLVED: no event/notification mechanism described in source
Macros
# Source documents no explicit multi-step command sequences.
# UNRESOLVED: no macros described in source
Safety
confirmation_required_for: []
interlocks: []
notes:
- "Power on/off commands block all other commands during execution (015 blocks during power-on; 016 blocks during power-off including cooling time)."
- "Command 02 0Dh error code = 'command cannot be accepted because the power is off'."
- "Error status (009) reports safety-relevant bits: cover error, fan error, temperature error, lamp off/replacement moratorium, mirror cover error, foreign matter sensor, interlock switch open (DATA09 Bit1), system errors."
- "DATA09 Bit1 'interlock switch is open' is a safety interlock signal reported via query, not a command-side interlock procedure."
# UNRESOLVED: source contains no explicit power-on sequencing procedure,
# confirmation-required list, or command-side interlock enforcement beyond
# the power-state blocking noted above.
Notes
- Binary protocol. All commands/responses are hex byte sequences. Format illustration from source §2.1:
20h 88h <ID1> <ID2> 0Ch <DATA01> - <DATA12> <CKS>. - Checksum (CKS): sum all preceding bytes, take low-order 8 bits. Example from source:
20h+81h+01h+60h+01h+00h = 103h→ CKS =03h. - Common parameters:
ID1= control ID (projector setting),ID2= model code (varies by model),LEN= data length following LEN byte,DATA??= variable data,ERR1/ERR2= response error codes. - Response framing: success responses begin with
2Xh(20h/21h/22h/23h); error responses begin withAXh(A0h/A1h/A2h/A3h). First byte high nibble 2 = OK, A = error. - Baud rate: source lists 115200/38400/19200/9600/4800 bps as switchable; no single default stated. Used 115200 as representative in transport block.
- Flow control: not stated; communication mode is full-duplex.
- Lamp usage/filter usage: returned in seconds, updated at 1-minute intervals.
- Two-lamp models: DATA01=01h (Lamp 2) effective only on two-lamp projector models.
- Power state machine (from 078-2/305-3): Standby(Sleep) → Power on → Cooling → Standby; plus Standby(error), Standby(Power saving), Network standby.
- Commands
02 0Dherror = power off;02 0Eh= execution failed;02 0Fh= no authority;00 00h= unrecognized command;00 01h= command not supported by model.
Spec done. 53 actions enumerated, all command payloads verbatim, transport dual (TCP 7142 + RS-232C). Main gap: source Appendix "Supplementary Information by Command" missing — input codes, eco values, aspect values, base model types all UNRESOLVED.
## Provenance
```yaml
source_domains:
- sharpdisplays.eu
source_urls:
- https://www.sharpdisplays.eu/p/download/cp/Products/Projectors/Shared/CommandLists/NEC-ExternalControlManual-english.pdf
retrieved_at: 2026-06-16T18:28:30.614Z
last_checked_at: 2026-06-19T07:53:03.544Z
Verification Summary
verdict: verified
checked_at: 2026-06-19T07:53:03.544Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 spec action commands matched verbatim to source; transport parameters verified; full bidirectional coverage. (14 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "input terminal value codes (DATA01 of 018, 319-10) reference an Appendix \"Supplementary Information by Command\" not present in source. Eco mode values, aspect values, base model type values, and sub-input setting values also reference that missing Appendix."
- "flow_control not stated; full-duplex mode stated"
- "other target codes not in this source\""
- "full code list not in this source\""
- "none additional identified in source"
- "no event/notification mechanism described in source"
- "no macros described in source"
- "source contains no explicit power-on sequencing procedure,"
- "source repeatedly references an Appendix \"Supplementary Information by Command\" for value code lists (input terminal codes for 018/319-10, aspect values for 030-12, eco mode values for 097-8/098-8, base model type values for 078-1/305-1, sub-input setting values for 097-198/098-198, selection signal type details). That Appendix is not present in the refined source document."
- "firmware version compatibility not stated in source"
- "default baud rate not stated (5 options listed, no default marked)"
- "flow control not stated"
- "ID2 model code value for Xp X141Q W not stated (varies by model)"
- "wireless LAN unit compatibility / protocol details deferred to separate operation manual"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0