Summary
Sharp Flat Panel Display LCD monitor supporting both RS-232C and TCP/IP external control. Protocol uses VCP (Variable Control Procedure) and CTL (Control) command sets with ASCII-encoded binary messages over a header-message-checkcode-delimiter frame structure. Both serial (9600bps 8N1) and Ethernet (port 7142) interfaces are documented. 600ms packet interval required between commands.
Transport
protocols:
- serial
- tcp
addressing:
port: 7142 # stated for LAN control
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # UNRESOLVED: flow control not stated in source
auth:
type: none # inferred: no auth procedure in source
Traits
# Evidence: power control (CTL-01D6, CTL-C203-D6), query commands (VCP get/set),
# routing via input select (VCP-00-60), levelable params (brightness, contrast, backlight, volume)
- powerable
- queryable
- routable
- levelable
Actions
# VCP get parameter (read setting)
- id: vcp_get
label: VCP Get Parameter
kind: query
params:
- name: page
type: string
description: OP code page (hex, e.g. "00", "02")
- name: code
type: string
description: OP code (hex, e.g. "10", "60")
# VCP set parameter (write setting)
- id: vcp_set
label: VCP Set Parameter
kind: action
params:
- name: page
type: string
description: OP code page (hex)
- name: code
type: string
description: OP code (hex)
- name: value
type: integer
description: 16-bit value to set
# CTL-0C / CTL-000C: Save Current Settings
- id: save_current_settings
label: Save Current Settings
kind: action
params: []
# CTL-07 / CTL-0007: Get Timing Report
- id: get_timing_report
label: Get Timing Report
kind: query
params: []
# CTL-01D6: Power status read
- id: power_status_read
label: Power Status Read
kind: query
params: []
# CTL-C203-D6: Power control
- id: power_control
label: Power Control
kind: action
params:
- name: power_mode
type: integer
description: 1=ON, 2=Stand-by, 3=Do not set, 4=OFF
# CTL-C216: Serial number read
- id: serial_no_read
label: Serial Number Read
kind: query
params: []
# CTL-C217: Model name read
- id: model_name_read
label: Model Name Read
kind: query
params: []
# CTL-C220: MAC address read
- id: mac_address_read
label: MAC Address Read
kind: query
params:
- name: device
type: integer
description: Device selector (00=fixed)
# CTL-C22C: Direct TV channel read
- id: tv_channel_read
label: Direct TV Channel Read
kind: query
params: []
# CTL-C22D: Direct TV channel write
- id: tv_channel_write
label: Direct TV Channel Write
kind: action
params:
- name: major_high
type: integer
- name: major_low
type: integer
- name: minor
type: integer
# CTL-C210: Remote control data code via RS-232C
- id: remote_control_data
label: Remote Control Data Code
kind: action
params:
- name: data_code_high
type: integer
description: Upper byte of RC data code
- name: data_code_low
type: integer
description: Lower byte of RC data code (e.g. 1D=PICTURE, 08=1, 15=UP, 17=VOL+)
- name: repeat
type: integer
description: Repeat count (H/L)
# CTL-CA02: Firmware version read
- id: firmware_version_read
label: Firmware Version Read
kind: query
params:
- name: firmware_type
type: integer
description: 00=FW Revision
# CTL-CA04-03: Input name of designated terminal read
- id: input_name_read
label: Input Name Read
kind: query
params:
- name: terminal
type: integer
description: Input terminal code (01=VGA(RGB), 05=AV, 09=Tuner, 0C=VGA(YPbPr), 11=HDMI1, 12=HDMI2, 82=HDMI3, 87=MP)
# CTL-CA04-04: Input name of designated terminal write
- id: input_name_write
label: Input Name Write
kind: action
params:
- name: terminal
type: integer
description: Input terminal code
- name: name
type: string
description: Input name string (max 14 chars)
# CTL-CA04-05: Input name of designated terminal reset
- id: input_name_reset
label: Input Name Reset
kind: action
params:
- name: terminal
type: integer
description: Input terminal code (00=ALL)
# NULL message (returned on error or when monitor is busy)
- id: null_message
label: NULL Message
kind: action
params: []
Feedbacks
# VCP get reply - result code + OP code + type + max value + current value
- id: vcp_get_reply
type: object
fields:
- name: result
type: string
values: [00, 01]
description: 00=No Error, 01=Unsupported
- name: page
type: string
- name: code
type: string
- name: type
type: string
description: 00=Set parameter, 01=Momentary
- name: max_value
type: integer
- name: current_value
type: integer
# VCP set reply - echoes back result, OP code, type, max, requested value
- id: vcp_set_reply
type: object
fields:
- name: result
type: string
values: [00, 01]
- name: page
type: string
- name: code
type: string
- name: type
type: string
- name: max_value
type: integer
- name: requested_value
type: integer
# Timing report reply
- id: timing_reply
type: object
fields:
- name: command
type: string
description: "4E"
- name: ss
type: integer
description: Timing status byte (bit7=sync out of range, bit6=unstable, bit1=h polarity, bit0=v polarity)
- name: h_freq
type: integer
description: Horizontal frequency in 0.01kHz units
- name: v_freq
type: integer
description: Vertical frequency in 0.01Hz units
# Power status reply (CTL-01D6)
- id: power_status_reply
type: object
fields:
- name: result
type: string
values: [00, 01]
- name: power_mode
type: integer
values: [1, 2, 3, 4]
description: 1=ON, 2=Stand-by, 3=Reserved, 4=OFF
# Serial number reply (CTL-C216)
- id: serial_no_reply
type: string
# Model name reply (CTL-C217)
- id: model_name_reply
type: string
# MAC address reply (CTL-C220)
- id: mac_address_reply
type: string
# TV channel reply (CTL-C22C / CTL-C22D)
- id: tv_channel_reply
type: object
fields:
- name: major_high
type: integer
- name: major_low
type: integer
- name: minor
type: integer
# Firmware version reply (CTL-CA02)
- id: firmware_version_reply
type: object
fields:
- name: result
type: string
- name: firmware_type
type: string
- name: version_string
type: string
description: Format R_Major.Minor1Minor2Minor3Branch1Branch2 (e.g. R1.02.003AB)
# Input name reply (CTL-CA04-03)
- id: input_name_reply
type: object
fields:
- name: result
type: string
- name: terminal
type: integer
- name: name
type: string
# Input name write reply (CTL-CA04-04)
- id: input_name_write_reply
type: object
fields:
- name: result
type: string
values: [00, 01]
# Input name reset reply (CTL-CA04-05)
- id: input_name_reset_reply
type: object
fields:
- name: result
type: string
values: [00, 01]
# NULL message reply
- id: null_reply
type: string
description: Returns "BE" when monitor is busy, unsupported, or BCC error
Variables
# VCP read/write parameters documented in OSD table (section 8)
# UNRESOLVED: full VCP table not fully extracted; representative entries shown
# Backlight (VCP-00-10)
- id: backlight
type: integer
min: 0
max: 100
description: Backlight brightness
# Contrast (VCP-00-12)
- id: contrast
type: integer
min: 0
max: 100
# Brightness (VCP-00-10 - same as backlight for some models)
- id: brightness
type: integer
min: 0
max: 100
# Volume (VCP-00-93 balance, VCP-10-CB audio delay)
- id: volume_balance
type: integer
min: 0
max: 100
description: Balance (left-to-right)
# Power mode (read via CTL-01D6, set via CTL-C203-D6)
- id: power_mode
type: enum
values: [1, 2, 3, 4]
description: 1=ON, 2=Stand-by, 3=Reserved, 4=OFF
Events
# UNRESOLVED: no unsolicited notifications documented; monitor only replies
Macros
# UNRESOLVED: no explicit multi-step macros documented beyond Save Current Settings
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Command packet interval must exceed 600ms. LAN connections auto-disconnect after 15 minutes of inactivity — controller must reconnect. Messages use ASCII-encoded hex (byte value 3Ah → '3'+'A'). Check code (BCC) is XOR of all bytes from D1 to D16. Delimiter is CR (0Dh). For VCP get/set operations, a Save Current Settings command must be sent after changes to persist them.
Monitor ID is set via OSD. Broadcast address is '*' (2Ah) for daisy-chain control. All numeric values in VCP replies are 16-bit, MSB-first encoded as ASCII digit pairs.
Input terminal codes: 01=VGA(RGB), 05=AV, 09=Tuner1(TV), 0C=VGA(YPbPr), 11=HDMI1, 12=HDMI2, 82=HDMI3, 87=MP(Media Player).
Provenance
source_domains:
- sharp-displays.jp.sharp
source_urls:
- https://sharp-displays.jp.sharp/support/webdl/dl_service/data/display/manual/e658/eu/External_Control_Exx8_Series_EN_Rev1.0.pdf
retrieved_at: 2026-04-29T12:34:58.370Z
last_checked_at: 2026-06-02T22:14:21.769Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:14:21.769Z
matched_actions: 17
action_count: 17
confidence: medium
summary: "All 17 spec actions traced to source (dip-safe re-verify). (13 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "product model number not stated in source, only \"Sharp Flat Panel Display\""
- "firmware version compatibility not stated in source"
- "TV tuner commands (marked *1) apply to US-only models"
- "flow control not stated in source"
- "full VCP table not fully extracted; representative entries shown"
- "no unsolicited notifications documented; monitor only replies"
- "no explicit multi-step macros documented beyond Save Current Settings"
- "no safety warnings or interlock procedures in source"
- "MAC address format not verified against real device"
- "VLAN/SNMP settings not documented in source"
- "precise OSD menu timeout values not stated"
- "TV tuner-specific commands (*1) apply only to US models; not verified"
- "some VCP codes listed as N/A in OSD table — not fully documented in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0