Summary
RS-232C serial control spec for the Sanyo PLC-XM100 / PLC-XM150 / PLC-XM100L / PLC-XM150L projector series. Document covers line-format ("C" + two chars + CR for execution, "CR" + one char + CR for status read), pipelining timing rules, and the full Functional Execution and Status Read command catalogues.
Transport
protocols:
- serial
serial:
baud_rate: 19200 # default; 9600 also supported per source
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # inferred from C00/C01/C02 power commands
- routable # inferred from C05-C08, C23-C25, C33-C35, C50-C53 input select commands
- queryable # inferred from CR0-CR7 status read commands
- levelable # inferred from C09/C0A volume, C20/C21 brightness, C46/C47 zoom, C4A/C4B focus, C8E-C91 keystone commands
Actions
- id: power_on
label: Power On
kind: action
command: "C00[CR]"
params: []
- id: power_off_quick
label: Power Off (Quick Power Off)
kind: action
command: "C01[CR]"
params: []
- id: power_off
label: Power Off (Normal)
kind: action
command: "C02[CR]"
params: []
- id: select_input_1
label: Select Input 1
kind: action
command: "C05[CR]"
params: []
- id: select_input_2
label: Select Input 2
kind: action
command: "C06[CR]"
params: []
- id: select_input_3
label: Select Input 3
kind: action
command: "C07[CR]"
params: []
- id: select_network_input
label: Select Network Input
kind: action
command: "C08[CR]"
params: []
- id: volume_up
label: Volume Up
kind: action
command: "C09[CR]"
params: []
- id: volume_down
label: Volume Down
kind: action
command: "C0A[CR]"
params: []
- id: sound_mute_on
label: Sound Mute On
kind: action
command: "C0B[CR]"
params: []
- id: sound_mute_off
label: Sound Mute Off
kind: action
command: "C0C[CR]"
params: []
- id: video_mute_on
label: Video Mute On (Shutter Close)
kind: action
command: "C0D[CR]"
params: []
- id: video_mute_off
label: Video Mute Off (Shutter Open)
kind: action
command: "C0E[CR]"
params: []
- id: screen_normal_4_3
label: Screen Normal Size (4:3)
kind: action
command: "C0F[CR]"
params: []
- id: screen_wide_16_9
label: Screen Wide Size (16:9)
kind: action
command: "C10[CR]"
params: []
- id: menu_on
label: Menu On
kind: action
command: "C1C[CR]"
params: []
- id: menu_off
label: Menu Off
kind: action
command: "C1D[CR]"
params: []
- id: display_clear
label: Display Clear
kind: action
command: "C1E[CR]"
params: []
- id: brightness_up
label: Brightness Up
kind: action
command: "C20[CR]"
params: []
- id: brightness_down
label: Brightness Down
kind: action
command: "C21[CR]"
params: []
- id: input_2_video
label: Select Input 2 Video
kind: action
command: "C23[CR]"
params: []
- id: input_2_component
label: Select Input 2 Y,Pb/Cb,Pr/Cr
kind: action
command: "C24[CR]"
params: []
- id: input_2_rgb
label: Select Input 2 RGB
kind: action
command: "C25[CR]"
params: []
- id: image_toggle
label: Image (toggle image setting)
kind: action
command: "C27[CR]"
params: []
- id: on_start_enable
label: On Start Enable
kind: action
command: "C28[CR]"
params: []
- id: on_start_disable
label: On Start Disable
kind: action
command: "C29[CR]"
params: []
- id: power_management_ready
label: Power Management Ready
kind: action
command: "C2A[CR]"
params: []
- id: power_management_off
label: Power Management Off
kind: action
command: "C2B[CR]"
params: []
- id: power_management_shutdown
label: Power Management Shutdown
kind: action
command: "C2E[CR]"
params: []
- id: dzoom_up
label: Digital Zoom Up
kind: action
command: "C30[CR]"
params: []
- id: dzoom_down
label: Digital Zoom Down
kind: action
command: "C31[CR]"
params: []
- id: input_3_video
label: Select Input 3 Video
kind: action
command: "C33[CR]"
params: []
- id: input_3_svideo
label: Select Input 3 S-Video
kind: action
command: "C34[CR]"
params: []
- id: input_3_component
label: Select Input 3 Y,Pb/Cb,Pr/Cr
kind: action
command: "C35[CR]"
params: []
- id: pointer_right
label: Pointer Right
kind: action
command: "C3A[CR]"
params: []
- id: pointer_left
label: Pointer Left
kind: action
command: "C3B[CR]"
params: []
- id: pointer_up
label: Pointer Up
kind: action
command: "C3C[CR]"
params: []
- id: pointer_down
label: Pointer Down
kind: action
command: "C3D[CR]"
params: []
- id: enter
label: Enter (Select)
kind: action
command: "C3F[CR]"
params: []
- id: freeze_on
label: Freeze On
kind: action
command: "C43[CR]"
params: []
- id: freeze_off
label: Freeze Off
kind: action
command: "C44[CR]"
params: []
- id: zoom_down
label: Zoom Down
kind: action
command: "C46[CR]"
params: []
- id: zoom_up
label: Zoom Up
kind: action
command: "C47[CR]"
params: []
- id: focus_down
label: Focus Down
kind: action
command: "C4A[CR]"
params: []
- id: focus_up
label: Focus Up
kind: action
command: "C4B[CR]"
params: []
- id: input_1_analog_rgb
label: Select Input 1 Analog RGB
kind: action
command: "C50[CR]"
params: []
- id: input_1_scart
label: Select Input 1 SCART
kind: action
command: "C51[CR]"
params: []
- id: input_1_dvi_pc_digital
label: Select Input 1 DVI (PC Digital)
kind: action
command: "C52[CR]"
params: []
- id: input_1_dvi_av_hdcp
label: Select Input 1 DVI (AV HDCP)
kind: action
command: "C53[CR]"
params: []
- id: lens_shift_up
label: Lens Shift Up
kind: action
command: "C5D[CR]"
params: []
- id: lens_shift_down
label: Lens Shift Down
kind: action
command: "C5E[CR]"
params: []
- id: lens_shift_left
label: Lens Shift Left
kind: action
command: "C5F[CR]"
params: []
- id: lens_shift_right
label: Lens Shift Right
kind: action
command: "C60[CR]"
params: []
- id: auto_pc_adj
label: Auto PC Adjust
kind: action
command: "C89[CR]"
params: []
- id: presentation_timer_start
label: Presentation Timer Start
kind: action
command: "C8A[CR]"
params: []
- id: presentation_timer_exit
label: Presentation Timer Exit
kind: action
command: "C8B[CR]"
params: []
- id: keystone_up
label: Keystone Up
kind: action
command: "C8E[CR]"
params: []
- id: keystone_down
label: Keystone Down
kind: action
command: "C8F[CR]"
params: []
- id: keystone_right
label: Keystone Right
kind: action
command: "C90[CR]"
params: []
- id: keystone_left
label: Keystone Left
kind: action
command: "C91[CR]"
params: []
- id: status_read
label: Status Read
kind: query
command: "CR0[CR]"
params: []
- id: input_mode_read
label: Input Mode Read
kind: query
command: "CR1[CR]"
params: []
- id: lamp_time_read
label: Lamp Time Read
kind: query
command: "CR3[CR]"
params: []
- id: setting_read
label: Setting Read
kind: query
command: "CR4[CR]"
params: []
- id: temp_read
label: Temperature Read
kind: query
command: "CR6[CR]"
params: []
- id: lamp_mode_read
label: Lamp Mode Read
kind: query
command: "CR7[CR]"
params: []
Feedbacks
- id: functional_execution_ack
type: enum
values: [ack, error]
description: "Successful Functional Execution Command returns ACK (0x06) + CR (0x0D). Undecodable data returns '?' + CR."
- id: projector_status
type: enum
values:
- "00" # Power ON
- "80" # Standby
- "40" # Countdown in process
- "20" # Cooling Down in process
- "10" # Power Failure
- "28" # Cooling Down in process due to Abnormal Temperature
- "88" # Standby after Cooling Down due to Abnormal Temperature
- "24" # Power-Save Cooling Down in process
- "04" # Power Save
- "21" # Cooling Down in process after OFF due to Lamp Failure
- "81" # Standby after Cooling Down due to Lamp Failure
- "2C" # Cooling Down in process after OFF due to Shutter Management
- "8C" # Standby after Cooling Down due to Shutter Management
description: "Response to CR0 (Status Read). 2-char hex code returned as ASCII."
- id: input_mode
type: enum
values:
- "1" # Input 1
- "2" # Input 2
- "3" # Input 3
- "4" # Input 4 (Networking-capable models only)
description: "Response to CR1 (Input Mode Read). 1-char ASCII digit."
- id: lamp_hours
type: string
description: "Response to CR3 (Lamp Time Read). 5-digit decimal, e.g. '00410' = 410 hours. Note: returned value is lamp operating time multiplied by a vendor coefficient, not actual elapsed time."
- id: screen_setting
type: enum
values:
- "11" # Normal Screen Setting
- "10" # Rear & Ceiling ON (top/bottom reversed)
- "01" # Rear ON (left/right reversed)
- "00" # Ceiling ON (top/bottom + left/right reversed)
description: "Response to CR4 (Setting Read). 2-char code."
- id: internal_temperature
type: string
description: "Response to CR6 (Temp Read). Space-separated 3-tuple of sensor readings, e.g. ' 31.5 35.2 33.4'. Format is ' XX.X'. 'E00.0' indicates sensor hardware error; '-05.5' indicates sub-zero reading."
- id: lamp_mode
type: enum
values:
- "00" # Lamp is ON
- "01" # Lamp is OFF
description: "Response to CR7 (Lamp Mode Read). 2-char code."
Variables
# UNRESOLVED: source documents only discrete action commands; no continuous
# settable variables (e.g. volume absolute value, brightness absolute value)
# are exposed. All level controls are increment/decrement style.
Events
# UNRESOLVED: source does not document any unsolicited event/notification
# stream from the projector. All status updates are poll-based via CR0/CR1/CR3/CR4/CR6/CR7.
Macros
# UNRESOLVED: source does not document any multi-step macro sequences
# stored on the device or defined by the protocol.
Safety
confirmation_required_for:
- power_off # C02 displays "Power OFF?" message and requires second send to confirm
interlocks: []
# UNRESOLVED: source documents abnormal-state conditions (Abnormal Temperature,
# Power Failure, Lamp Failure, Shutter abnormal, Filter abnormal) that suspend
# command execution, but does not prescribe a user-facing interlock or
# recovery sequence beyond powering off and clearing the fault on next power-on.
Notes
- Line format: Functional Execution = "C" + 2 chars + CR (0x0D). Status Read = "C" + "R" + 1 char + CR. Commands must be uppercase A–Z.
- Decode starts only after CR (0x0D) is received.
- Receive buffer clears on LF (0x0A), EOF (0x1A), or inter-character gap > 1 second.
- Pipelining: 100 ms interval for VOLUME+/-, ZOOM UP/DOWN, FOCUS UP/DOWN, LENS-SHIFT UP/DOWN/RIGHT. 500 ms interval for all other commands. 500 ms minimum for Status Read after response.
- Do not send next command before receiving response; exception: no response after 5 s.
- ~7 s internal initialization after AC plug-in; commands during this window return ACK but are not executed (Status Read becomes available 500 ms after POWER ON ACK).
- During countdown/cooling/input-switching (5 s) windows, ACK is returned but commands (other than Status Read in select cases) are not executed.
- Baud rate 9600 is selectable only via service mode; factory default is 19200.
- C08 "NETWORK" input is a source-selection input key; the spec covers RS-232C only, so no IP/TCP command set is included.
- Lamp hours (CR3) returns a vendor-coefficient-multiplied value, not actual elapsed hours.
Provenance
source_domains:
- audiogeneral.com
- manualslib.com
source_urls:
- https://www.audiogeneral.com/Sanyo/plcxm_series_rs232.pdf
- https://www.manualslib.com/products/Sanyo-Plc-Xm150-3068582.html
retrieved_at: 2026-06-12T01:21:14.669Z
last_checked_at: 2026-06-12T19:38:23.872Z
Verification Summary
verdict: verified
checked_at: 2026-06-12T19:38:23.872Z
matched_actions: 66
action_count: 66
confidence: medium
summary: "All 66 spec actions matched literally in source; full command catalogue represented; transport parameters confirmed. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "factory-default baud setting is 19200; the 9600 alternative is a service-mode option, so the device-issued default is unambiguous. Source lists both \"9600 / 19200\" but the init note says initial value is 19200. The spec records 19200 as the default."
- "this spec covers RS-232C only as documented. The vendor also offers a \"NETWORK\" input selection command (C08) but does not document a separate TCP/IP command set, so no TCP transport is recorded."
- "source documents only discrete action commands; no continuous"
- "source does not document any unsolicited event/notification"
- "source does not document any multi-step macro sequences"
- "source documents abnormal-state conditions (Abnormal Temperature,"
- "no firmware version compatibility range is stated in the source."
- "no voltage/current/power specifications are stated in the source."
- "no fault-recovery or error-state machine beyond the abnormal-temperature/power/lamp status codes is documented."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0