Summary
RS-232C command set for Sharp LC-M3700, LC-M3700P, LC-M3710, and LC-M3710P LCD monitors. Control is achieved via a PC connected to the monitor's RS-232C INPUT (and chained via RS-232C OUTPUT for up to ~20 monitors). The spec covers power, input selection, picture/audio adjustment, geometry, wide mode, enlarge, ID assignment/repeater, control lock/PIN, and status query commands.
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no login/password procedure in source
Traits
- powerable # POWR 0/1 power setting
- routable # INP1/INP2/INP3/INPC input selection
- queryable # "?" parameter returns current value (WR commands)
- levelable # VOLM, CONT, BLVL, COLR, TINT, SHRP, TRBL, BASS, BLNC, REDG, GREN, BLUE
- controllable # CMHR/CMHY/CMHG/CMHC/CMHB/CMHM CMS H/S/V; PXSL resolution; WIDE; PFLP; EMAG; EPOS; DNR; QSDV; MOSP; PMNG; CTMP; BLAK; 3DYC; MNCR; FILM; IPST; ODSP; FINP; SNDS; COVR
Actions
# Power control, etc.
- id: power_setting
label: Power Setting
kind: action
command: "POWR{state}"
params:
- name: state
type: integer
values: [0, 1]
description: "0 = Switches to standby; 1 = Returns from standby"
- id: power_status
label: Power Status
kind: query
command: "POWR????"
- id: channel_display
label: Channel Display
kind: action
command: "DISP "
params: []
notes: "Parameter is fixed to '-' (dash) in source; no parameter field value listed."
- id: volume
label: Volume
kind: action
command: "VOLM{level}"
params:
- name: level
type: integer
range: 0-60
- id: volume_query
label: Volume Query
kind: query
command: "VOLM????"
- id: mute
label: Mute
kind: action
command: "MUTE{state}"
params:
- name: state
type: integer
values: [0, 1]
description: "0 = Off; 1 = On"
- id: mute_query
label: Mute Query
kind: query
command: "MUTE????"
- id: sync_check
label: Sync Check
kind: action
command: "SYNC{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0 = returns Yes/No; 1 = returns frequency"
- id: cause_of_last_standby_reset
label: Cause Of Last Standby (Reset)
kind: action
command: "STCA0000"
notes: "Content initialization"
- id: cause_of_last_standby_query
label: Cause Of Last Standby (Query)
kind: query
command: "STCA????"
- id: cause_of_last_error_reset
label: Cause Of Last Error (Reset)
kind: action
command: "ERCA0000"
notes: "Content initialization"
- id: cause_of_last_error_query
label: Cause Of Last Error (Query)
kind: query
command: "ERCA????"
- id: brightness_vlamp
label: Brightness (VLMP)
kind: action
command: "VLMP{value}"
params:
- name: value
type: integer
range: -8 to 8
- id: brightness_vlamp_query
label: Brightness Query
kind: query
command: "VLMP????"
- id: power_management
label: Power Management
kind: action
command: "PMNG{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0 = Off; 1 = Mode1; 2 = Mode2"
- id: power_management_query
label: Power Management Query
kind: query
command: "PMNG????"
- id: language
label: Language
kind: action
command: "LANG{code}"
params:
- name: code
type: integer
values: [1, 2, 4, 13, 14]
description: "1=German; 2=French; 4=Spanish; 13=Japanese; 14=English"
- id: language_query
label: Language Query
kind: query
command: "LANG????"
- id: reset
label: Reset
kind: action
command: "RSET{pin}"
params:
- name: pin
type: string
description: "4-digit PIN"
- id: reset_repeater
label: Reset (Repeater)
kind: action
command: "RSE+{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; repeater control"
# Input selection, etc.
- id: inp1_select
label: INPUT1 Selection
kind: action
command: "INP1{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0=Leaves selection, switches to INPUT1; 1=AV; 2=Y/C"
- id: inp1_query
label: INPUT1 Selection Query
kind: query
command: "INP1????"
- id: inp2_select
label: INPUT2 Selection
kind: action
command: "INP2{mode}"
params:
- name: mode
type: integer
values: [0, 1, 9]
description: "0=Leaves, switches to INPUT2; 1=Input; 9=Output (ERR if INPUT set to output)"
- id: inp2_query
label: INPUT2 Selection Query
kind: query
command: "INP2????"
- id: inp3_select
label: INPUT3 Selection
kind: action
command: "INP3{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0=Leaves, switches to INPUT3; 1=COMPONENT; 2=RGB"
- id: inp3_query
label: INPUT3 Selection Query
kind: query
command: "INP3????"
- id: inpc_select
label: PC Input Selection
kind: action
command: "INPC{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0=Leaves, switches to PC; 1=Analog; 2=Digital"
- id: inpc_query
label: PC Input Selection Query
kind: query
command: "INPC????"
- id: inps_select
label: Input Select
kind: action
command: "INPS{source}"
params:
- name: source
type: integer
values: [0, 1, 2, 4, 5, 6, 7]
description: "0=Toggle; 1=INPUT1 video; 2=INPUT1 S-video; 4=INPUT2 video; 5=INPUT3; 6=PC D-sub; 7=PC DVI"
- id: inps_query
label: Input Select Query
kind: query
command: "INPS????"
- id: itgd_toggle
label: Input Toggle
kind: action
command: "ITGD0000"
notes: "Toggle operation"
- id: iavd_select
label: Input AV/VIDEO Direct Select
kind: action
command: "IAVD{source}"
params:
- name: source
type: integer
values: [1, 2, 3]
description: "1=INPUT1; 2=INPUT2; 3=INPUT3"
- id: ipcd_select
label: Input PC Direct Select
kind: action
command: "IPCD "
notes: "Parameter field is '-' (dash); switches input to PC"
- id: imod_query
label: Input Source Display Query
kind: query
command: "IMOD????"
notes: "Reply: 1=INPUT1; 2=INPUT2; 3=INPUT3; 5=PC"
# Picture adjustment
- id: contrast
label: Contrast
kind: action
command: "CONT{value}"
params:
- name: value
type: integer
range: 0-40
- id: contrast_query
label: Contrast Query
kind: query
command: "CONT????"
- id: black_level
label: Black Level
kind: action
command: "BLVL{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: black_level_query
label: Black Level Query
kind: query
command: "BLVL????"
- id: color
label: Color
kind: action
command: "COLR{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: color_query
label: Color Query
kind: query
command: "COLR????"
- id: tint
label: Tint
kind: action
command: "TINT{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: tint_query
label: Tint Query
kind: query
command: "TINT????"
- id: sharpness
label: Sharpness
kind: action
command: "SHRP{value}"
params:
- name: value
type: integer
range: -10 to 10
- id: sharpness_query
label: Sharpness Query
kind: query
command: "SHRP????"
- id: red_gain
label: Red Gain
kind: action
command: "REDG{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: red_gain_query
label: Red Gain Query
kind: query
command: "REDG????"
- id: green_gain
label: Green Gain
kind: action
command: "GREN{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: green_gain_query
label: Green Gain Query
kind: query
command: "GREN????"
- id: blue_gain
label: Blue Gain
kind: action
command: "BLUE{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: blue_gain_query
label: Blue Gain Query
kind: query
command: "BLUE????"
# C.M.S. Hue
- id: cms_hue_red
label: C.M.S. Hue Red
kind: action
command: "CMHR{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_hue_yellow
label: C.M.S. Hue Yellow
kind: action
command: "CMHY{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_hue_green
label: C.M.S. Hue Green
kind: action
command: "CMHG{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_hue_cyan
label: C.M.S. Hue Cyan
kind: action
command: "CMHC{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_hue_blue
label: C.M.S. Hue Blue
kind: action
command: "CMHB{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_hue_magenta
label: C.M.S. Hue Magenta
kind: action
command: "CMHM{value}"
params:
- name: value
type: integer
range: -30 to 30
# C.M.S. Saturation
- id: cms_sat_red
label: C.M.S. Saturation Red
kind: action
command: "CMSR{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_sat_yellow
label: C.M.S. Saturation Yellow
kind: action
command: "CMSY{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_sat_green
label: C.M.S. Saturation Green
kind: action
command: "CMSG{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_sat_cyan
label: C.M.S. Saturation Cyan
kind: action
command: "CMSC{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_sat_blue
label: C.M.S. Saturation Blue
kind: action
command: "CMSB{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_sat_magenta
label: C.M.S. Saturation Magenta
kind: action
command: "CMSM{value}"
params:
- name: value
type: integer
range: -30 to 30
# C.M.S. Value
- id: cms_val_red
label: C.M.S. Value Red
kind: action
command: "CMVR{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_val_yellow
label: C.M.S. Value Yellow
kind: action
command: "CMVY{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_val_green
label: C.M.S. Value Green
kind: action
command: "CMVG{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_val_cyan
label: C.M.S. Value Cyan
kind: action
command: "CMVC{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_val_blue
label: C.M.S. Value Blue
kind: action
command: "CMVB{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: cms_val_magenta
label: C.M.S. Value Magenta
kind: action
command: "CMVM{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: color_temp
label: Color Temperature
kind: action
command: "CTMP{value}"
params:
- name: value
type: integer
values: [0, 1, 2, 3, 4]
description: "0=Low; 1=Mid-Low; 2=Mid; 3=Mid-High; 4=High"
- id: color_temp_query
label: Color Temperature Query
kind: query
command: "CTMP????"
- id: black
label: Black (Backlight Emphasis)
kind: action
command: "BLAK{value}"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off; 1=High; 2=Low"
- id: black_query
label: Black Query
kind: query
command: "BLAK????"
- id: yc_3d
label: 3D-Y/C
kind: action
command: "3DYC{value}"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Standard; 1=Fast; 2=Slow"
- id: yc_3d_query
label: 3D-Y/C Query
kind: query
command: "3DYC????"
- id: monochrome
label: Monochrome
kind: action
command: "MNCR{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off; 1=On"
- id: monochrome_query
label: Monochrome Query
kind: query
command: "MNCR????"
- id: film_mode
label: Film Mode
kind: action
command: "FILM{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off; 1=On"
- id: film_mode_query
label: Film Mode Query
kind: query
command: "FILM????"
- id: ip_setting
label: I/P Setting
kind: action
command: "IPST{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Interlace; 1=Progressive"
- id: ip_setting_query
label: I/P Setting Query
kind: query
command: "IPST????"
# Audio adjustment
- id: treble
label: Treble
kind: action
command: "TRBL{value}"
params:
- name: value
type: integer
range: -15 to 15
- id: treble_query
label: Treble Query
kind: query
command: "TRBL????"
- id: bass
label: Bass
kind: action
command: "BASS{value}"
params:
- name: value
type: integer
range: -15 to 15
- id: bass_query
label: Bass Query
kind: query
command: "BASS????"
- id: balance
label: Balance
kind: action
command: "BLNC{value}"
params:
- name: value
type: integer
range: -30 to 30
- id: balance_query
label: Balance Query
kind: query
command: "BLNC????"
- id: color_system
label: Color System
kind: action
command: "CLSY{sys}"
params:
- name: sys
type: integer
values: [0, 1, 3, 4, 5]
description: "0=AUTO; 1=PAL; 3=SECAM; 4=NTSC358; 5=NTSC443"
- id: color_system_query
label: Color System Query
kind: query
command: "CLSY????"
# Position / Fine sync
- id: hpos_av
label: H-Position (AV)
kind: action
command: "HPOS{value}"
params:
- name: value
type: integer
range: -10 to 10
- id: hpos_av_query
label: H-Position (AV) Query
kind: query
command: "HPOS????"
- id: hpos_pc
label: H-Position (PC)
kind: action
command: "HPOS{value}"
params:
- name: value
type: integer
range: 0-180
- id: vpos_av
label: V-Position (AV)
kind: action
command: "VPOS{value}"
params:
- name: value
type: integer
range: -20 to 20
- id: vpos_av_query
label: V-Position (AV) Query
kind: query
command: "VPOS????"
- id: vpos_pc
label: V-Position (PC)
kind: action
command: "VPOS{value}"
params:
- name: value
type: integer
range: 0-99
- id: clock
label: Clock
kind: action
command: "CLCK{value}"
params:
- name: value
type: integer
range: 0-180
notes: "Returns ERR in case of a video signal"
- id: clock_query
label: Clock Query
kind: query
command: "CLCK????"
- id: phase
label: Phase
kind: action
command: "PHSE{value}"
params:
- name: value
type: integer
range: 0-40
notes: "Returns ERR in case of a video signal"
- id: phase_query
label: Phase Query
kind: query
command: "PHSE????"
- id: auto_sync
label: Auto Sync
kind: action
command: "ASNC{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0=Abort; 1=Start"
- id: auto_sync_asae
label: Auto Sync (ASAE)
kind: action
command: "ASAE{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Setting cancel; 1=Automatic execution when PC sync is input"
- id: auto_sync_asae_query
label: Auto Sync (ASAE) Query
kind: query
command: "ASAE????"
# Wide mode (AV)
- id: wide_av
label: Wide Mode (AV)
kind: action
command: "WIDE{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2, 3, 4, 5, 6, 7, 8]
description: "0=Toggle; 1=Normal; 2=Full 14:9; 3=Zoom 14:9; 4=Panorama; 5=Cinema 14:9; 6=Cinema 16:9; 7=Full; 8=Underscan"
- id: wide_av_query
label: Wide Mode (AV) Query
kind: query
command: "WIDE????"
# Wide mode (PC)
- id: wide_pc
label: Wide Mode (PC)
kind: action
command: "WIDE{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2, 3, 4]
description: "0=Toggle; 1=Normal; 2=Full; 3=Cinema; 4=D by D"
- id: picture_flip
label: Picture Flip
kind: action
command: "PFLP{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2, 3]
description: "0=Normal; 1=Mirror; 2=Upside Down; 3=Rotate"
- id: picture_flip_query
label: Picture Flip Query
kind: query
command: "PFLP????"
# Enlarge
- id: enlarge_setting
label: Enlarge Setting
kind: action
command: "EMAG{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0=Off; 1=2x2; 2=3x3"
- id: enlarge_setting_query
label: Enlarge Setting Query
kind: query
command: "EMAG????"
- id: enlarge_position
label: Enlarged Image Position
kind: action
command: "EPOS{pos}"
params:
- name: pos
type: integer
range: 0-8
description: "Position depends on EMAG mode: 2x2=0-3; 3x3=0-8"
- id: enlarge_position_query
label: Enlarged Image Position Query
kind: query
command: "EPOS????"
# Other picture
- id: dnr
label: DNR
kind: action
command: "DNR {value}"
params:
- name: value
type: integer
values: [0, 1, 2]
description: "0=Off; 1=Low; 2=High"
- id: dnr_query
label: DNR Query
kind: query
command: "DNR ???? "
notes: "Mnemonic is DNR_ (4-char) in source table; underscore represents trailing space per source"
- id: quick_shoot
label: Quick Shoot
kind: action
command: "QSDV{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Off; 1=On"
- id: quick_shoot_query
label: Quick Shoot Query
kind: query
command: "QSDV????"
- id: monitor_speaker_output
label: Monitor Speaker Output
kind: action
command: "MOSP{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0=Fixed; 1=Variable"
- id: monitor_speaker_output_query
label: Monitor Speaker Output Query
kind: query
command: "MOSP????"
- id: input_signal_query
label: Input Signal Resolution Query
kind: query
command: "PXCK????"
notes: "Returns current resolution in form xxx,xxx"
- id: pixel_resolution
label: Pixel Resolution Select
kind: action
command: "PXSL{mode}"
params:
- name: mode
type: integer
description: "V=400 (640x400, 720x400); V=480 (640x480, 848x480, 852x480); V=768 (1024x768, 1280x768, 1366x768)"
- id: pixel_resolution_query
label: Pixel Resolution Query
kind: query
command: "PXSL????"
# ID numbers
- id: id_set
label: ID No. Setting
kind: action
command: "IDST{nnn}"
params:
- name: nnn
type: integer
range: 0-255
description: "Assigns monitor ID. 'IDST001+' is repeater form to auto-assign."
- id: id_query
label: ID No. Query
kind: query
command: "IDST????"
- id: id_select
label: ID No. Setting (Once)
kind: action
command: "IDSL{nnn}"
params:
- name: nnn
type: integer
range: 0-255
description: "0=Clears ID; 1-255 sets ID effective for next command only"
- id: id_lock
label: ID No. Setting (Subsequent)
kind: action
command: "IDLK{nnn}"
params:
- name: nnn
type: integer
range: 0-255
description: "0=Clears; 1-255 sets ID effective for all subsequent commands until cleared or power off"
- id: id_check
label: ID Check
kind: action
command: "IDCK "
notes: "Parameter is '-'; displays selected ID and own ID on screen"
# Control lock
- id: lock_menu
label: Lock Menu Display
kind: action
command: "LMNU{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Normal; 1=Menu Display not available"
- id: lock_menu_query
label: Lock Menu Display Query
kind: query
command: "LMNU????"
- id: lock_remote
label: Lock Remote Control
kind: action
command: "LREM{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Normal; 1=Disabled"
- id: lock_remote_query
label: Lock Remote Query
kind: query
command: "LREM????"
- id: lock_buttons
label: Lock Control Buttons
kind: action
command: "LBTN{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Normal; 1=Disabled"
- id: lock_buttons_query
label: Lock Control Buttons Query
kind: query
command: "LBTN????"
- id: lock_power
label: Lock Power
kind: action
command: "LPOW{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Normal; 1=Disabled"
- id: lock_power_query
label: Lock Power Query
kind: query
command: "LPOW????"
- id: lock_rs232
label: Lock RS-232C
kind: action
command: "LCOM{value}"
params:
- name: value
type: integer
values: [0, 1]
description: "0=Normal; 1=Disabled"
- id: lock_rs232_query
label: Lock RS-232C Query
kind: query
command: "LCOM????"
# PIN
- id: set_pin
label: Set PIN
kind: action
command: "PSET{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; activates lock function"
- id: set_pin_repeater
label: Set PIN (Repeater)
kind: action
command: "PSE+{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; for repeater control"
- id: input_pin
label: Input PIN (Temporary Unlock)
kind: action
command: "PINP{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; temporary unlock"
- id: input_pin_repeater
label: Input PIN (Repeater)
kind: action
command: "PIN+{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; repeater temporary unlock"
- id: clear_pin
label: Clear PIN
kind: action
command: "PCLR{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; permanent unlock (single monitor)"
- id: clear_pin_repeater
label: Clear PIN (Repeater)
kind: action
command: "PCL+{pin}"
params:
- name: pin
type: string
description: "4-digit PIN; permanent unlock (multi-monitor)"
# Power-on method, etc.
- id: max_volume
label: Maximum Volume Limit
kind: action
command: "MVOL{value}"
params:
- name: value
type: integer
range: 1-60
- id: max_volume_query
label: Max Volume Query
kind: query
command: "MVOL????"
- id: fix_volume
label: Fix Volume
kind: action
command: "FVOL{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0=Off; 1=Fixes volume at constant value"
- id: fix_volume_query
label: Fix Volume Query
kind: query
command: "FVOL????"
- id: osd_setting
label: OSD Setting
kind: action
command: "ODSP{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0=Normal; 1=No OSD displayed"
- id: osd_setting_query
label: OSD Setting Query
kind: query
command: "ODSP????"
- id: display_boot_option
label: Display Boot Option
kind: action
command: "FINP{value}"
params:
- name: value
type: integer
values: [0, 1, 2, 4, 5, 6, 7, 11, 12, 14, 15, 16, 17]
description: "0=Normal; 1=INPUT1+AV; 2=INPUT1+Y/C; 4=INPUT2; 5=INPUT3; 6=PC+Analog; 7=PC+Digital; 11-17=fixed-start variants"
- id: display_boot_option_query
label: Display Boot Option Query
kind: query
command: "FINP????"
- id: sound_input_select
label: Sound Input Select
kind: action
command: "SNDS{mode}"
params:
- name: mode
type: integer
values: [0, 1, 2]
description: "0=Normal; 1=INPUT1 audio fixed; 2=INPUT2 audio fixed"
- id: sound_input_select_query
label: Sound Input Select Query
kind: query
command: "SNDS????"
- id: panel_protection_cover
label: Panel Protection Cover
kind: action
command: "COVR{mode}"
params:
- name: mode
type: integer
values: [0, 1]
description: "0=Detached; 1=Attached"
- id: panel_protection_cover_query
label: Panel Protection Cover Query
kind: query
command: "COVR????"
# Repeater control (composite helper)
- id: repeater_apply
label: Repeater Control (4th char '+')
kind: helper
command: "{CMD}{params}+"
notes: "Any W command becomes a repeater broadcast by replacing the 4th parameter char with '+'. E.g. VOLM030+ sets volume of all monitors to 30."
Feedbacks
- id: response_ok
type: enum
values: [ok]
description: "OK (with optional ' 001' ID suffix) returned when command executed correctly"
- id: response_err
type: enum
values: [err]
description: "ERR (with optional ID suffix) returned when command not executed correctly (unknown command, invalid state, or unreachable ID)"
- id: response_wait
type: enum
values: [wait]
description: "WAIT returned while command is being processed; new commands are ignored until OK/ERR arrives"
- id: response_locked
type: enum
values: [locked]
description: "LOCKED returned when RS-232C control is locked; only PINP/PIN+/PCLR/PCL+ accepted in this state"
- id: carriage_return
type: string
values: ["0x0D, 0x0A"]
description: "All response terminators are CR LF (0DH 0AH) per source"
Variables
# Discrete parameter ranges are captured as enum/int params on each Action.
# No standalone continuous variables are documented separately in the source.
Events
# UNRESOLVED: source does not document any unsolicited event messages from the monitor
Macros
- id: lock_remote_buttons_power_daisy
label: Lock remote + monitor buttons + power (daisy chain, no ID)
steps:
- "PCL+{pin}" # clear PIN (repeater)
- "LREM001+" # lock remote (repeater)
- "LBTN001+" # lock monitor buttons (repeater)
- "LPOW001+" # lock power (repeater)
- "PSE+{pin}" # set new PIN (repeater)
notes: "Per source Example 4"
- id: lock_remote_buttons_power_id2
label: Lock remote + monitor buttons + power for monitor ID=2
steps:
- "IDLK0002" # target monitor with ID=2
- "PCLR{oldPin}" # clear PIN (may be empty)
- "LREM0001" # lock remote
- "LBTN0001" # lock monitor buttons
- "LPOW0001" # lock power
- "PSET{newPin}" # set new PIN
- "IDLK0000" # exit IDLK targeting
notes: "Per source Example 5"
- id: auto_assign_ids_repeater
label: Auto-assign sequential IDs 1..N via repeater
steps:
- "IDST001+" # repeater command assigns IDs 1,2,3,4 in order
notes: "After linking monitors, send IDST001+ and wait for OK 001..OK 00N responses"
Safety
confirmation_required_for: []
interlocks:
- "RS-232C LOCKED state: only PINP/PIN+/PCLR/PCL+ are accepted; IDSL and IDLK are NOT accepted (source: 'If the RS-232C function is locked, the IDSL and IDLK commands cannot be used')"
- "Power LPOW lock: locking power prevents switching from operating state to standby, but still allows standby->operating (per source)"
- "Temporary PIN unlock auto-re-locks on: monitor entering standby, main POWER turned off, PIN changed, or lock items modified"
- "Repeater control '+' on POFR (POWR) OFF returns response only from the monitor closest to the PC (per source)"
# UNRESOLVED: no high-voltage / electrical safety interlocks documented in RS-232C spec
Notes
- Cable requirement: RS-232C cross cable (null-modem). Straight cable will not transmit data.
- Daisy chain: connect PC COM -> monitor1 RS-232C INPUT; then monitor1 OUTPUT -> monitor2 INPUT, etc. Up to ~20 monitors, cable-length / environment dependent.
- Command format: 4-char command + 4-char parameter, then CR (0DH). Parameter must be 4 chars (pad with spaces if needed). Parameter alphabet: 0-9, +, -, space, ?.
- Query: send
????(or???+for repeater) in the parameter field for any command whose Direction is R in the table. Reply is decimal number for numeric values;0and1are used for MUTE-style bools. - Repeater control: setting 4th character of parameter to
+broadcasts to all daisy-chained monitors. Each connected monitor returns its own response; the caller should wait for N replies before sending the next command. - Inter-command interval: leave ~100ms between OK/ERR and the next command. New commands sent before OK/ERR are ignored (exception: ASNC forced end).
- WAIT cases: repeater control; IDSL/IDLK; or one of RSET, INP1, INP2, INP3, INPC, INPS, ITGD, IAVD, IPCD, CLSY, ASNC, WIDE, EMAG, EPOS, PXSL, POWR.
- IDSL is one-shot; IDLK persists across commands until cleared (IDLK0000) or power off.
- LANG code mapping: 1=German, 2=French, 4=Spanish, 13=Japanese, 14=English.
- Cause-of-last-standby codes: 0=No standby (after init), 1=Error standby, 2=Invalid input (PC), 3=PC Mode1, 4=PC Mode2, 6=RS-232C command standby.
- Cause-of-last-error codes: 0=None, 1=Invalid input (PC), 2=Internal bus, 3=Abnormal temp, 4=Board connection, 5=Lamp, 7=Electrical system, 8=Microcomputer comm.
- PIXEL RESOLUTION table (PXSL): three V-tiers (V=400, V=480, V=768) each with multiple sub-modes; source uses mode 0/1/2/3 per tier.
- MNCR "Mnemonic" for MONOCHROME; DNR is shown as "DNR " in source (4-char with trailing space/underscore).
- Source notes CAUSE OF LAST STANDBY/ERROR are read-only history; STCA W=0 and ERCA W=0 reset/initialize the log content.
Provenance
source_domains:
- business.sharpusa.com
- manualslib.com
source_urls:
- https://business.sharpusa.com/portals/0/downloads/Manuals/mon_man_LCM3700.pdf
- "https://www.manualslib.com/manual/151442/Sharp-Lc-M3700.html?page=47"
retrieved_at: 2026-06-15T12:48:59.649Z
last_checked_at: 2026-06-16T07:15:41.064Z
Verification Summary
verdict: verified
checked_at: 2026-06-16T07:15:41.064Z
matched_actions: 153
action_count: 153
confidence: medium
summary: "All 153 spec actions match verbatim source commands; transport params verified; bidirectional coverage achieved. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source does not list firmware version compatibility ranges"
- "source does not document any unsolicited event messages from the monitor"
- "no high-voltage / electrical safety interlocks documented in RS-232C spec"
- "firmware version compatibility not stated; recovery from invalid/bad cable conditions (source only says \"nothing is returned\"); DC/AC power specifications of the monitor itself"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0