Summary
Sharp PN-E Series large-format LCD monitors (source explicitly references PN-E421; series also includes PN-E471/E521/E601) controlled via RS-232C with a 4-character command + 4-character parameter ASCII protocol, supporting daisy-chain control of up to 25 monitors with ID addressing. LAN control is available when the optional PN-ZB01 board is attached, configured via web browser (Internet Explorer); RS-232C and LAN cannot be used simultaneously. This spec covers the full RS-232C command table from the operation manual.
Transport
protocols:
- serial
- http # inferred: LAN control via web browser (Internet Explorer) mentioned in source; requires optional PN-ZB01
serial:
baud_rate: 9600 # initial setting; settable to 9600/19200/38400 via BAUD command
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
base_url: null # UNRESOLVED: no URL/path pattern stated in source
port: null # UNRESOLVED: port number not stated in source
auth:
type: none # inferred: no auth procedure in source
Traits
# - powerable (POWR standby/on command present)
# - queryable (R-direction queries: POWR?, VOLM?, INF1, SRNO, DSTA, ERRT, STCA, PXCK, RESO, etc.)
# - routable (INPS input mode selection commands present)
# - levelable (VOLM, CONT, BLVL, VLMP, etc. level commands present)
- powerable
- queryable
- routable
- levelable
Actions
# Command format: 4-char command field + 4-char parameter field, terminated by return code (0DH or 0AH).
# Parameter MUST be exactly 4 characters, padded with spaces. Negative values as 3 digits (e.g. AUTR-009).
# Query (R-direction): send "????" as parameter (e.g. VOLM????). Repeater control: 4th parameter char "+".
# W = set, R = readable via ???? query, WR = both.
- id: power_set
label: Power Control
kind: action
command: "POWR{state}"
params:
- name: state
type: integer
description: "W: 0 = switch to standby mode, 1 = return from standby. R (POWR????): 0 = standby mode, 1 = normal mode, 2 = input signal waiting mode"
- id: input_mode_select
label: Input Mode Selection
kind: action
command: "INPS{input}"
params:
- name: input
type: integer
description: "W: 0 = toggle, 1 = PC DVI-D, 2 = PC D-SUB, 3 = AV COMPONENT, 4 = AV VIDEO, 6 = PC RGB, 7 = AV DVI-D, 8 = AV S-VIDEO, 9 = AV HDMI, 10 = PC HDMI. R returns same codes 1-10. Some selections return ERR depending on INPUT SELECT settings"
- id: screen_auto_adjust
label: Screen Auto Adjust
kind: action
command: "ASNC0001"
params: []
# AUTO (SCREEN menu); when input mode is PC D-SUB or PC RGB; returns WAIT
- id: clock_set
label: Clock
kind: action
command: "CLCK{value}"
params:
- name: value
type: integer
description: "0-1200; PC D-SUB/PC RGB only; varies depending on signal; query via CLCK????"
- id: phase_set
label: Phase
kind: action
command: "PHSE{value}"
params:
- name: value
type: integer
description: "0-63; PC D-SUB/PC RGB only; query via PHSE????"
- id: h_position_set
label: H-Position
kind: action
command: "HPOS{value}"
params:
- name: value
type: integer
description: "0-100 (0-800 on PC D-SUB/PC RGB); query via HPOS????"
- id: v_position_set
label: V-Position
kind: action
command: "VPOS{value}"
params:
- name: value
type: integer
description: "0-100 (0-200 on PC D-SUB/PC RGB); query via VPOS????"
- id: h_size_set
label: H-Size
kind: action
command: "HSIZ{value}"
params:
- name: value
type: integer
description: "0-100; query via HSIZ????"
- id: v_size_set
label: V-Size
kind: action
command: "VSIZ{value}"
params:
- name: value
type: integer
description: "0-100; query via VSIZ????"
- id: h_resolution_set
label: H-Resolution
kind: action
command: "HRES{value}"
params:
- name: value
type: integer
description: "300-1920, only even numbers valid; PC D-SUB/PC RGB only; query via HRES????"
- id: v_resolution_set
label: V-Resolution
kind: action
command: "VRES{value}"
params:
- name: value
type: integer
description: "200-1200, only even numbers valid; query via VRES????"
- id: screen_reset
label: Screen/Picture/Audio Reset
kind: action
command: "ARST{value}"
params:
- name: value
type: integer
description: "1 = SCREEN menu reset, 2 = PICTURE menu reset, 3 = AUDIO menu reset"
- id: picture_auto_adjust
label: Picture Auto Adjust
kind: action
command: "AGIN0001"
params: []
# AUTO (PICTURE menu); PC D-SUB/PC RGB only; returns WAIT
- id: contrast_set
label: Contrast
kind: action
command: "CONT{value}"
params:
- name: value
type: integer
description: "0-60 (0-127 on PC D-SUB/PC RGB); query via CONT????"
- id: black_level_set
label: Black Level
kind: action
command: "BLVL{value}"
params:
- name: value
type: integer
description: "0-60 (0-127 on PC D-SUB/PC RGB); query via BLVL????"
- id: tint_set
label: Tint
kind: action
command: "TINT{value}"
params:
- name: value
type: integer
description: "0-60; query via TINT????"
- id: color_set
label: Colors
kind: action
command: "COLR{value}"
params:
- name: value
type: integer
description: "0-60; query via COLR????"
- id: sharpness_set
label: Sharpness
kind: action
command: "SHRP{value}"
params:
- name: value
type: integer
description: "0-24; query via SHRP????"
- id: flesh_tone_set
label: Flesh Tone
kind: action
command: "FLES{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: LOW, 2: HIGH; AV input only; query via FLES????"
- id: three_d_nr_set
label: 3D-NR
kind: action
command: "TDNR{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: LOW, 2: HIGH; query via TDNR????"
- id: mpeg_nr_set
label: MPEG-NR
kind: action
command: "MPNR{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via MPNR????"
- id: three_d_yc_set
label: 3D-Y/C
kind: action
command: "YCSP{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; AV VIDEO input only; query via YCSP????"
- id: cms_hue_r_set
label: C.M.S.-Hue R
kind: action
command: "CMHR{value}"
params:
- name: value
type: integer
description: "-10 to 10 (negative as 3 digits, e.g. CMHR-009); query via CMHR????"
- id: cms_hue_y_set
label: C.M.S.-Hue Y
kind: action
command: "CMHY{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMHY????"
- id: cms_hue_g_set
label: C.M.S.-Hue G
kind: action
command: "CMHG{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMHG????"
- id: cms_hue_c_set
label: C.M.S.-Hue C
kind: action
command: "CMHC{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMHC????"
- id: cms_hue_b_set
label: C.M.S.-Hue B
kind: action
command: "CMHB{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMHB????"
- id: cms_hue_m_set
label: C.M.S.-Hue M
kind: action
command: "CMHM{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMHM????"
- id: cms_saturation_r_set
label: C.M.S.-Saturation R
kind: action
command: "CMSR{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSR????"
- id: cms_saturation_y_set
label: C.M.S.-Saturation Y
kind: action
command: "CMSY{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSY????"
- id: cms_saturation_g_set
label: C.M.S.-Saturation G
kind: action
command: "CMSG{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSG????"
- id: cms_saturation_c_set
label: C.M.S.-Saturation C
kind: action
command: "CMSC{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSC????"
- id: cms_saturation_b_set
label: C.M.S.-Saturation B
kind: action
command: "CMSB{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSB????"
- id: cms_saturation_m_set
label: C.M.S.-Saturation M
kind: action
command: "CMSM{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMSM????"
- id: cms_value_r_set
label: C.M.S.-Value R
kind: action
command: "CMVR{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVR????"
- id: cms_value_y_set
label: C.M.S.-Value Y
kind: action
command: "CMVY{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVY????"
- id: cms_value_g_set
label: C.M.S.-Value G
kind: action
command: "CMVG{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVG????"
- id: cms_value_c_set
label: C.M.S.-Value C
kind: action
command: "CMVC{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVC????"
- id: cms_value_b_set
label: C.M.S.-Value B
kind: action
command: "CMVB{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVB????"
- id: cms_value_m_set
label: C.M.S.-Value M
kind: action
command: "CMVM{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via CMVM????"
- id: cms_reset
label: C.M.S. Reset
kind: action
command: "CRST{value}"
params:
- name: value
type: integer
description: "1 = reset hue, 2 = reset saturation, 3 = reset brightness"
- id: color_mode_set
label: Color Mode
kind: action
command: "BMOD{value}"
params:
- name: value
type: integer
description: "0: STD, 2: VIVID, 3: sRGB (PC input only); query via BMOD????"
- id: color_temp_set
label: White Balance / Color Temperature
kind: action
command: "CTMP{value}"
params:
- name: value
type: integer
description: "0: THRU (PC DVI-D/PC HDMI), 1-17: preset approx 3000K (1) to 10000K (15) in 500K steps, 16: approx 5600K, 17: approx 9300K, 99: USER; query via CTMP????"
- id: r_contrast_set
label: R-Contrast
kind: action
command: "CRTR{value}"
params:
- name: value
type: integer
description: "0-256; ERR when CTMP is not 99; query via CRTR????"
- id: g_contrast_set
label: G-Contrast
kind: action
command: "CRTG{value}"
params:
- name: value
type: integer
description: "0-256; ERR when CTMP is not 99; query via CRTG????"
- id: b_contrast_set
label: B-Contrast
kind: action
command: "CRTB{value}"
params:
- name: value
type: integer
description: "0-256; ERR when CTMP is not 99; query via CRTB????"
- id: copy_to_user
label: Copy White Balance Preset to User
kind: action
command: "CPTU0000"
params: []
- id: gamma_set
label: Gamma
kind: action
command: "GAMM{value}"
params:
- name: value
type: integer
description: "0: 1.8, 1: 2.2, 2: 2.4, 4: USER, 5: 2.0; query via GAMM????"
- id: treble_set
label: Treble
kind: action
command: "AUTR{value}"
params:
- name: value
type: integer
description: "-5 to 5 (negative as 3 digits, e.g. AUTR-009); query via AUTR????"
- id: bass_set
label: Bass
kind: action
command: "AUBS{value}"
params:
- name: value
type: integer
description: "-5 to 5; query via AUBS????"
- id: balance_set
label: Balance
kind: action
command: "AUBL{value}"
params:
- name: value
type: integer
description: "-10 to 10; query via AUBL????"
- id: osd_h_position_set
label: OSD H-Position
kind: action
command: "OSDH{value}"
params:
- name: value
type: integer
description: "0-100; query via OSDH????"
- id: osd_v_position_set
label: OSD V-Position
kind: action
command: "OSDV{value}"
params:
- name: value
type: integer
description: "0-100; query via OSDV????"
- id: monitor_orientation_set
label: Monitor Orientation
kind: action
command: "STDR{value}"
params:
- name: value
type: integer
description: "0: LANDSCAPE, 1: PORTRAIT; PN-E421 only; query via STDR????"
- id: monaural_audio_set
label: Monaural Audio
kind: action
command: "MONO{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via MONO????"
- id: language_set
label: Language
kind: action
command: "LANG{value}"
params:
- name: value
type: integer
description: "Language code; source table lists ENGLISH (first row), 1: DEUTSCH, 2: FRANÇAIS, 3: ITALIANO, 4: ESPAÑOL, 5: РУССКИЙ; full 0-14 mapping partially illegible in source; query via LANG????"
- id: power_on_delay_set
label: Power On Delay
kind: action
command: "PWOD{value}"
params:
- name: value
type: integer
description: "0: OFF, 1-60: ON (delay in minutes); query via PWOD????"
- id: standby_mode_set
label: Standby Mode
kind: action
command: "STBM{value}"
params:
- name: value
type: integer
description: "0: STANDARD, 1: LOW POWER (ERR when SCHEDULE is effective or OFF selected for LED); query via STBM????"
- id: hdmi_auto_view_set
label: HDMI Auto View
kind: action
command: "HDAW{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via HDAW????"
- id: hdmi_rgb_range_set
label: HDMI RGB Input Range
kind: action
command: "HDRA{value}"
params:
- name: value
type: integer
description: "0: AUTO, 1: FULL, 2: LIMITED; query via HDRA????"
- id: hot_plug_dvi_set
label: Hot Plug Control (DVI)
kind: action
command: "HPCT{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via HPCT????"
- id: hot_plug_hdmi_set
label: Hot Plug Control (HDMI)
kind: action
command: "HPCH{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via HPCH????"
- id: rs232c_lan_select_set
label: RS-232C/LAN Select
kind: action
command: "CTLS{value}"
params:
- name: value
type: integer
description: "0: RS-232C, 1: LAN; query via CTLS????"
- id: id_number_set
label: ID Number Set
kind: action
command: "IDST{value}"
params:
- name: value
type: integer
description: "W: 0-255, 0 = no ID number; R (IDST????) returns current ID number 0-255"
- id: id_select_once
label: ID Number Set (Once)
kind: action
command: "IDSL{value}"
params:
- name: value
type: integer
description: "1-255 = target monitor ID for the immediately following command only; 0 = clear ID designation. Returns WAIT while searching"
- id: id_lock
label: ID Number Set (Subsequent)
kind: action
command: "IDLK{value}"
params:
- name: value
type: integer
description: "1-255 = target monitor ID for all subsequent commands until canceled or power off; 0 = cancel ID lock. Returns WAIT while searching"
- id: id_check
label: ID Check
kind: action
command: "IDCK0000"
params: []
# Displays monitor's own ID and current IDLK ID on screen; reply "ID : xxx IDLK : yyy"
- id: baud_rate_set
label: Baud Rate Select
kind: action
command: "BAUD{value}"
params:
- name: value
type: integer
description: "0: 9600bps, 1: 19200bps, 2: 38400bps; query via BAUD????"
- id: speaker_select_set
label: Speaker Select
kind: action
command: "SPSL{value}"
params:
- name: value
type: integer
description: "0: internal speaker, 1: external speaker; query via SPSL????"
- id: dc_out_set
label: Option DC Out Setting
kind: action
command: "DCOT{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: MODE1, 2: MODE2; requires PN-ZB01; query via DCOT????"
- id: date_time_set
label: Date/Time Setting
kind: action
command: "DATE{AABBCCDDEE}"
params:
- name: AABBCCDDEE
type: string
description: "AA: year, BB: month, CC: day, DD: hour, EE: minute; no spaces; query via DATE????"
- id: schedule_set
label: Schedule Setting
kind: action
command: "SC{nn}{ABCDEFFGGH}"
params:
- name: nn
type: integer
description: "Schedule number 01-08 (commands SC01 through SC08 listed as one table row)"
- name: ABCDEFFGGH
type: string
description: "A: 0=not effective, 1=effective; B: power 0=OFF, 1=ON; C: 0=only once, 1=every week, 2=every day; D/E: day of week 0=Sunday, 1-6=Monday-Saturday, 9=not exist; F: hour 00-23; G: minute 00-59; H: input 0=not specified, 1=PC/AV DVI-D, 2=PC D-SUB, 3=PC RGB/AV COMPONENT, 4=AV VIDEO, 5=AV S-VIDEO, 6=PC/AV HDMI. ERR when LOW POWER selected for STANDBY MODE. No spaces"
- id: dvi_input_select_set
label: Input Select DVI
kind: action
command: "DVSL{value}"
params:
- name: value
type: integer
description: "0: PC DVI-D, 1: AV DVI-D; query via DVSL????"
- id: bnc_input_select_set
label: Input Select BNC
kind: action
command: "BNSL{value}"
params:
- name: value
type: integer
description: "0: PC RGB, 1: AV COMPONENT; query via BNSL????"
- id: hdmi_input_select_set
label: Input Select HDMI
kind: action
command: "HDSL{value}"
params:
- name: value
type: integer
description: "0: PC HDMI, 1: AV HDMI; query via HDSL????"
- id: audio_select_pc_dvi_set
label: Audio Select PC DVI-D
kind: action
command: "ASDP{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASDP????"
- id: audio_select_pc_dsub_set
label: Audio Select PC D-SUB
kind: action
command: "ASAP{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASAP????"
- id: audio_select_pc_hdmi_set
label: Audio Select PC HDMI
kind: action
command: "ASHP{value}"
params:
- name: value
type: integer
description: "0: HDMI, 1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASHP????"
- id: audio_select_pc_rgb_set
label: Audio Select PC RGB
kind: action
command: "ASCP{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASCP????"
- id: audio_select_av_dvi_set
label: Audio Select AV DVI-D
kind: action
command: "ASDA{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASDA????"
- id: audio_select_av_hdmi_set
label: Audio Select AV HDMI
kind: action
command: "ASHA{value}"
params:
- name: value
type: integer
description: "0: HDMI, 1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASHA????"
- id: audio_select_av_component_set
label: Audio Select AV COMPONENT
kind: action
command: "ASCA{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASCA????"
- id: audio_select_av_svideo_set
label: Audio Select AV S-VIDEO
kind: action
command: "ASSA{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASSA????"
- id: audio_select_av_video_set
label: Audio Select AV VIDEO
kind: action
command: "ASVA{value}"
params:
- name: value
type: integer
description: "1: AUDIO, 2: AUDIO 1, 3: AUDIO 2; query via ASVA????"
- id: pc_resolution_check
label: PC Resolution Check
kind: query
command: "PXCK????"
params: []
# Returns current resolution as hhh, vvv
- id: pixel_setting_set
label: Pixel Setting (PC D-SUB, PC RGB)
kind: action
command: "PXSL{value}"
params:
- name: value
type: integer
description: "1: 1360x768, 2: 1280x768, 3: 1024x768, 5: 848x480, 6: 640x480, 7: 1680x1050, 8: 1400x1050, 9: 768 AUTO, 10: 480 AUTO; query via PXSL????; returns WAIT"
- id: av_resolution_check
label: AV Resolution Check
kind: query
command: "RESO????"
params: []
# Returns 480i, 480p, 1080i, 720p, 1080p, VGA, etc.
- id: zoom2_special_set
label: Zoom2 Special Setting (PC D-SUB, PC RGB)
kind: action
command: "Z2SP{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via Z2SP????"
- id: scan_mode_set
label: Scan Mode
kind: action
command: "SCAN{value}"
params:
- name: value
type: integer
description: "0: MODE1, 1: MODE2, 2: MODE3; AV input only; query via SCAN????"
- id: power_management_pc_set
label: Power Management (PC)
kind: action
command: "PMNG{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via PMNG????"
- id: power_management_av_set
label: Power Management (AV)
kind: action
command: "PMAV{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via PMAV????"
- id: color_system_set
label: Color System
kind: action
command: "CSYS{value}"
params:
- name: value
type: integer
description: "0: AUTO, 1: PAL, 2: PAL-60, 3: SECAM, 4: NTSC3.58, 5: NTSC4.43; query via CSYS????"
- id: audio_output_set
label: Audio Output
kind: action
command: "AOUT{value}"
params:
- name: value
type: integer
description: "0: VARIABLE, 1: FIXED; query via AOUT????"
- id: audio_input_level_set
label: Audio Input Level
kind: action
command: "AIVP{value}"
params:
- name: value
type: integer
description: "0: 1.0Vrms, 1: 0.5Vrms; query via AIVP????"
- id: self_adjust_set
label: Self Adjust
kind: action
command: "AADJ{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via AADJ????"
- id: auto_input_change_set
label: Auto Input Change
kind: action
command: "AINC{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via AINC????"
- id: enlarge_mode_set
label: Enlarge Mode
kind: action
command: "EMAG{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: 2x2, 2: 3x3, 3: 4x4, 4: 5x5; PC input only; query via EMAG????; returns WAIT"
- id: enlarge_mode_mxn_set
label: Enlarge Mode MxN
kind: action
command: "EMHV{mn}"
params:
- name: mn
type: integer
description: "11-55; m x n expressed as mn (m = longest direction, n = shortest direction monitors); requires PN-ZB01; returns WAIT"
- id: bezel_width_h_set
label: Bezel Width (Shorter Side)
kind: action
command: "BEZH{value}"
params:
- name: value
type: integer
description: "0-100; query via BEZH????"
- id: bezel_width_v_set
label: Bezel Width (Longer Side)
kind: action
command: "BEZV{value}"
params:
- name: value
type: integer
description: "0-100; query via BEZV????"
- id: image_position_mxn_set
label: Image Position MxN
kind: action
command: "EPHV{mn}"
params:
- name: mn
type: integer
description: "11-55; ENLARGE POSITION in longest/shortest direction; requires PN-ZB01; returns WAIT"
- id: image_position_set
label: Image Position
kind: action
command: "EPOS{value}"
params:
- name: value
type: integer
description: "0-3 for 2x2, 0-8 for 3x3, 0-15 for 4x4, 0-24 for 5x5 (position grid, see source); returns WAIT"
- id: enlarge_screen_h_position_set
label: Enlarged Screen Positioning (Longest Direction)
kind: action
command: "EPSH{value}"
params:
- name: value
type: integer
description: "-999 to 999 (negative as 3 digits); range depends on ENLARGE MODE and IMAGE POSITION; query via EPSH????"
- id: enlarge_screen_v_position_set
label: Enlarged Screen Positioning (Shortest Direction)
kind: action
command: "EPSV{value}"
params:
- name: value
type: integer
description: "-999 to 999 (negative as 3 digits); query via EPSV????"
- id: enlarge_image_position_setting
label: Enlarge/Image Position Setting
kind: action
command: "ESTG{XXYY}"
params:
- name: XXYY
type: string
description: "XX: ENLARGE MODE (same values as EMAG), YY: IMAGE POSITION (same values as EPOS)"
- id: enlarge_image_position_setting_mxn
label: Enlarge/Image Position Setting MxN
kind: action
command: "ESHV{XXYY}"
params:
- name: XXYY
type: string
description: "XX: ENLARGE MODE (same values as EMHV), YY: IMAGE POSITION (same values as EPHV); returns WAIT"
- id: pip_mode_set
label: PIP Modes
kind: action
command: "MWIN{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: PIP, 2: PbyP, 3: PbyP2; query via MWIN????; returns WAIT"
- id: pip_size_set
label: PIP Size
kind: action
command: "MPSZ{value}"
params:
- name: value
type: integer
description: "1-12; query via MPSZ????"
- id: pip_pos_h_set
label: PIP Pos (Longest Direction)
kind: action
command: "MHPS{value}"
params:
- name: value
type: integer
description: "0-100; query via MHPS????"
- id: pip_pos_v_set
label: PIP Pos (Shortest Direction)
kind: action
command: "MVPS{value}"
params:
- name: value
type: integer
description: "0-100; query via MVPS????"
- id: pip_pos_batch_set
label: PIP Pos LD+SD Batch
kind: action
command: "MPOS{xxx}{yyy}"
params:
- name: xxx
type: integer
description: "Longer side position 0-100, 3 digits, no spaces (e.g. MPOS010097)"
- name: yyy
type: integer
description: "Shorter side position 0-100, 3 digits"
- id: pip_blend_set
label: PIP Blend
kind: action
command: "MWBL{value}"
params:
- name: value
type: integer
description: "0-15; query via MWBL????"
- id: pip_source_set
label: PIP Source
kind: action
command: "MWIP{value}"
params:
- name: value
type: integer
description: "1: PC DVI-D, 2: PC D-SUB, 3: AV COMPONENT, 4: AV VIDEO, 6: PC RGB, 7: AV DVI-D, 8: AV S-VIDEO, 9: AV HDMI, 10: PC HDMI; query via MWIP????; returns WAIT"
- id: sound_change
label: Sound Change
kind: action
command: "MWAD{value}"
params:
- name: value
type: integer
description: "1: MAIN, 2: SUB; query via MWAD????"
- id: main_pos_set
label: Main Pos
kind: action
command: "MWPP{value}"
params:
- name: value
type: integer
description: "0: POS1, 1: POS2; query via MWPP????"
- id: pbyp2_pos_set
label: PbyP2 Pos
kind: action
command: "MW2P{value}"
params:
- name: value
type: integer
description: "0: POS1, 1: POS2, 2: POS3; query via MW2P????"
- id: pip_auto_off_set
label: PIP Auto Off
kind: action
command: "MOFF{value}"
params:
- name: value
type: integer
description: "0: MANUAL, 1: AUTO; query via MOFF????"
- id: all_reset
label: All Reset
kind: action
command: "RSET{value}"
params:
- name: value
type: integer
description: "0: ALL RESET (without PN-ZB01); 0: ALL RESET 1, 1: ALL RESET 2 (with PN-ZB01). Set timeout 30s or longer. ALL RESET 1 also initializes personal info (e-mail addresses); ALL RESET 2 does not"
- id: adjustment_lock_set
label: Adjustment Lock
kind: action
command: "ALCK{value}"
params:
- name: value
type: integer
description: "0: OFF (operation enabled), 1: disables all operations other than power on/off and FUNCTION, 2: only FUNCTION operation enabled; query via ALCK????"
- id: osd_display_set
label: OSD Display
kind: action
command: "LOSD{value}"
params:
- name: value
type: integer
description: "0: ON, 1: OFF; query via LOSD????"
- id: led_set
label: LED
kind: action
command: "OFLD{value}"
params:
- name: value
type: integer
description: "0: ON, 1: OFF; ERR when LOW POWER selected for STANDBY MODE; query via OFLD????"
- id: temperature_alert_set
label: Temperature Alert
kind: action
command: "TALT{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: OSD & LED, 2: LED; query via TALT????"
- id: status_alert_set
label: Status Alert
kind: action
command: "SALT{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: OSD & LED, 2: LED; query via SALT????"
- id: power_button_set
label: Power Button
kind: action
command: "PBTN{value}"
params:
- name: value
type: integer
description: "0: MONITOR, 1: CONTROLLER; query via PBTN????"
- id: controller_input_set
label: Controller Input
kind: action
command: "PCIP{value}"
params:
- name: value
type: integer
description: "0: D-SUB, 1: HDMI, 2: DVI-D; ERR when MONITOR selected for POWER BUTTON; query via PCIP????"
- id: screen_size_pc_set
label: Screen Size (PC)
kind: action
command: "WIDE{value}"
params:
- name: value
type: integer
description: "PC: 1: WIDE, 2: NORMAL, 3: Dot by Dot, 4: ZOOM1, 5: ZOOM2; AV: 1: WIDE, 2: ZOOM1, 3: ZOOM2, 4: NORMAL, 5: Dot by Dot (same opcode WIDE for both); query via WIDE????; returns WAIT"
- id: volume_set
label: Volume
kind: action
command: "VOLM{value}"
params:
- name: value
type: integer
description: "0-31, zero-padded 4 digits (e.g. VOLM0030); query VOLM???? returns current volume (e.g. 30)"
- id: mute_set
label: Mute
kind: action
command: "MUTE{value}"
params:
- name: value
type: integer
description: "0: OFF, 1: ON; query via MUTE????"
- id: model_name_query
label: Model Name Information
kind: query
command: "INF1????"
params: []
# Returns model name value
- id: serial_number_query
label: Serial Number Information
kind: query
command: "SRNO????"
params: []
# Returns serial number value
- id: backlight_brightness_set
label: Backlight Brightness
kind: action
command: "VLMP{value}"
params:
- name: value
type: integer
description: "0-31; query via VLMP????"
- id: temperature_sensor_status_query
label: Temperature Sensor Status
kind: query
command: "DSTA????"
params: []
# Returns 0-4, see temperature_sensor_status feedback
- id: temperature_acquisition_query
label: Temperature Acquisition
kind: query
command: "ERRT????"
params: []
# Returns [Sensor1],[Sensor2],[Sensor3]; 126 indicates sensor abnormality
- id: standby_cause_init
label: Cause of Last Standby Initialization
kind: action
command: "STCA0000"
params: []
- id: standby_cause_query
label: Cause of Last Standby Mode
kind: query
command: "STCA????"
params: []
# Returns 0/1/2/3/4/6/8, see standby_cause feedback
- id: gamma_red_transfer
label: Red Gamma Data Transfer
kind: action
command: "UGRW{aa}{xxxx...xxxx}{cc}"
params:
- name: aa
type: integer
description: "Block number 01-16 (512 data pieces split into 16 blocks of 32)"
- name: xxxx
type: string
description: "32 pieces of 4-digit user data (0000-1023), zero-padded to 4 digits"
- name: cc
type: string
description: "Checksum: lower-order 1 byte (hex 0-F) ASCII of sum of block number + 32 data pieces"
- id: gamma_green_transfer
label: Green Gamma Data Transfer
kind: action
command: "UGGW{aa}{xxxx...xxxx}{cc}"
params:
- name: aa
type: integer
description: "Block number 01-16"
- name: xxxx
type: string
description: "32 pieces of 4-digit user data (0000-1023)"
- name: cc
type: string
description: "Checksum (same as UGRW)"
- id: gamma_blue_transfer
label: Blue Gamma Data Transfer
kind: action
command: "UGBW{aa}{xxxx...xxxx}{cc}"
params:
- name: aa
type: integer
description: "Block number 01-16"
- name: xxxx
type: string
description: "32 pieces of 4-digit user data (0000-1023)"
- name: cc
type: string
description: "Checksum (same as UGRW)"
- id: gamma_red_read
label: Red Gamma Data Read
kind: query
command: "UGRR{aa}"
params:
- name: aa
type: integer
description: "Block number 1-16; returns 32 pieces of user data (value from temporary display memory, not stored value)"
- id: gamma_green_read
label: Green Gamma Data Read
kind: query
command: "UGGR{aa}"
params:
- name: aa
type: integer
description: "Block number 1-16"
- id: gamma_blue_read
label: Blue Gamma Data Read
kind: query
command: "UGBR{aa}"
params:
- name: aa
type: integer
description: "Block number 1-16"
- id: gamma_user_data_initialize
label: Gamma User Data Initialize
kind: action
command: "UGRS0000"
params: []
- id: gamma_user_data_save
label: Gamma User Data Save
kind: action
command: "UGSV0000"
params: []
# Saves transferred user data; otherwise cleared at main power off or LOW POWER standby
Feedbacks
- id: ok_response
type: string
values: ["OK"]
# Returned after command executed correctly; with ID assigned: "OK 001" (space + ID)
- id: err_response
type: string
values: ["ERR"]
# No relevant command or command unusable in current state
- id: wait_response
type: string
values: ["WAIT"]
# Repeater control, IDSL/IDLK, or RSET/INPS/ASNC/WIDE/EMAG/EPOS/PXSL/POWR/AGIN/MWIN/MWIP/MWPP/ESTG/EMHV/EPHV/ESHV in progress; do not send commands; no ID attached
- id: locked_response
type: string
values: ["LOCKED"]
# RS-232C control locked by operation lock (ALCK)
- id: unselected_response
type: string
values: ["UNSELECTED"]
# Returned when RS-232C/LAN SELECT is set to LAN
- id: power_state
type: enum
values: [standby, normal, input_signal_waiting]
# POWR???? reply: 0/1/2
- id: input_mode
type: enum
values: [pc_dvi_d, pc_d_sub, av_component, av_video, pc_rgb, av_dvi_d, av_s_video, av_hdmi, pc_hdmi]
# INPS???? reply: 1/2/3/4/6/7/8/9/10
- id: volume_level
type: integer
values: "0-31"
# VOLM???? reply
- id: id_number
type: integer
values: "0-255"
# IDST???? reply; 0 = no ID assigned; responses append " nnn" (space + 3-digit ID) when ID assigned
- id: model_name
type: string
# INF1???? reply
- id: serial_number
type: string
# SRNO???? reply
- id: temperature_sensor_status
type: enum
values: [normal, abnormal_standby, abnormal_recovered, abnormal_backlight_dimmed, sensor_abnormal]
# DSTA???? reply: 0/1/2/3/4
- id: sensor_temperatures
type: string
# ERRT???? reply "[Sensor1],[Sensor2],[Sensor3]"; 126 = sensor abnormality
- id: standby_cause
type: enum
values: [no_error, power_button, main_power_switch, rs232c_or_lan, no_signal, abnormal_temperature, schedule]
# STCA???? reply: 0/1/2/3/4/6/8
- id: pc_resolution
type: string
# PXCK???? reply "hhh, vvv"
- id: av_resolution
type: string
# RESO???? reply: 480i, 480p, 1080i, 720p, 1080p, VGA, etc.
Variables
# All settable parameters in this source are exposed as discrete RS-232C commands
# and are represented as Actions above (VOLM, VLMP, CONT, etc.).
# UNRESOLVED: no additional settable parameters outside the command table found in source.
Events
# No unsolicited protocol-level notifications documented in source.
# Temperature Alert (TALT) and Status Alert (SALT) notify via OSD/LED only, not via RS-232C messages.
# UNRESOLVED: LAN/e-mail notification content (PN-ZB01) not detailed in source.
Macros
- id: auto_assign_ids_repeater
label: Auto-assign ID numbers to daisy chain
steps:
- "IDST001+" # repeater control (4th param char "+") assigns sequential IDs to all monitors
notes: "Responses returned by all connected monitors; send next command only after last monitor replies"
- id: gamma_user_data_upload
label: Upload and activate GAMMA user data
steps:
- "UGRW{block}{data}{checksum} x16 blocks (red)"
- "UGGW{block}{data}{checksum} x16 blocks (green)"
- "UGBW{block}{data}{checksum} x16 blocks (blue)"
- "UGSV0000" # save to monitor, otherwise cleared at main power off or LOW POWER standby
- "GAMM0004" # activate by selecting USER gamma
notes: "512 data pieces per color, 32 per block; checksum = lower-order 1 byte ASCII hex of block number + data sum"
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings, interlock procedures, or
# power-on sequencing requirements for control. Temperature abnormality handling
# (standby, backlight dimming) is automatic device behavior, not a control-side interlock.
Notes
- Command format: 4-character command field + 4-character parameter field (exactly 4 chars, pad with spaces, e.g. "VOLM 30" written as VOLM0030; wrong: VOLM30). Return code 0DH or 0AH (or both) terminates commands/responses.
- Negative parameters: 3-digit numeric with minus (e.g. AUTR-009). No spaces allowed for MPOS, DATE, SC01-SC08.
- Daisy chain: up to 25 monitors via RS-232C in/out terminals; all monitors must use same baud rate; assign unique IDs (0-255, 0 = no ID). IDSL targets next command only; IDLK persists until canceled (IDLK0000) or power off; repeater control cancels ID designation.
- Repeater control: set 4th parameter character to "+" (e.g. VOLM030+) to command all monitors; all monitors respond. Cannot be used in LOW POWER standby.
- Timing: wait for OK/ERR before next command; response timeout 10s or longer (daisy chain: monitor position x 10s, e.g. 3rd monitor = 30s); ALL RESET needs 30s+; POWER ON DELAY active: timeout = delay + 10s; minimum 100 ms between response and next command.
- WAIT returned for: repeater control, IDSL/IDLK, and commands RSET, INPS, ASNC, WIDE, EMAG, EPOS, PXSL, POWR, AGIN, MWIN, MWIP, MWPP, ESTG, EMHV, EPHV, ESHV. No ID attached to WAIT. Do not send commands during WAIT.
- If no monitor matches designated ID (e.g. IDSL0002 with no ID 2 present), no response returned. Bad connection = no response at all (not even ERR).
- PN-ZB01 (optional) required for LAN, EMHV/EPHV/ESHV and some commands marked in table with (A)/(B) columns; RS-232C and LAN control cannot be used simultaneously (CTLS selects). UNSELECTED returned over RS-232C when CTLS = LAN.
- Factory LAN defaults (PN-ZB01): IP 192.168.150.2, subnet 255.255.255.0, gateway 0.0.0.0; configure PC as 192.168.150.3 to access via Internet Explorer.
- STANDBY MODE LOW POWER restricts standby-mode commands (marked "-" in table) and repeater control in standby; OFF LED unavailable in LOW POWER.
- ALL RESET 1 (with PN-ZB01) initializes personal information including registered e-mail addresses — relevant before transfer/disposal.
- ARST opcode covers three resets (1=SCREEN, 2=PICTURE, 3=AUDIO); WIDE opcode covers both PC and AV screen-size mappings with different value meanings.
Provenance
source_domains:
- business.sharpusa.com
source_urls:
- https://business.sharpusa.com/portals/0/downloads/Manuals/mon_man_PNE421_471.pdf
- https://business.sharpusa.com/portals/0/downloads/Manuals/mon_man_PNE521_601.pdf
- https://business.sharpusa.com/portals/0/downloads/Manuals/mon_man_PNE521_601_install.pdf
- https://business.sharpusa.com/Portals/0/downloads/Manuals/PN_E603_703_Operation_Manual.pdf
retrieved_at: 2026-05-01T02:57:30.386Z
last_checked_at: 2026-09-19T22:17:16.715Z
Verification Summary
verdict: verified
checked_at: 2026-09-19T22:17:16.715Z
matched_actions: 143
action_count: 143
confidence: medium
summary: "All 143 spec actions map to distinct 4-char opcodes in the RS-232C command table; transport values verified; source command catalogue fully represented. (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "LAN control method details (port, URL paths, API) not documented in source — only web-browser access mentioned."
- "exact model list covered by this manual — only PN-E421 explicitly named in source text."
- "firmware version compatibility not stated in source."
- "no URL/path pattern stated in source"
- "port number not stated in source"
- "no additional settable parameters outside the command table found in source."
- "LAN/e-mail notification content (PN-ZB01) not detailed in source."
- "source contains no explicit safety warnings, interlock procedures, or"
- "LAN control protocol details (port, HTTP API, e-mail notification format) not stated in source."
- "LANG full 0-14 code mapping partially illegible in source table."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0