Summary

Document camera / presenter with half-duplex RS-232 control. Protocol uses 7-byte command packets (A0h STX, AFh ETX) with ACK/NAK/IGNORE response format. No authentication described.

Transport

protocols:
  - serial
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none
auth:
  type: UNRESOLVED  # source does not state this (was inferred none: no auth procedure in source)

Traits

# Evidence from source:
# - power on/off commands: powerable
# - query commands (Call Zoom Position, Call Focus Position, etc.): queryable
# - source live/PC switching, preview rotation: routable
# - brightness control, zoom, focus, R/B gain: levelable
# - preset save/load: presetable
powerable: true
queryable: true
routable: true
levelable: true
presetable: true

Actions

# All commands from Command Packet table (Section 5). Params inferred from source.
- id: preset_factory_reset
  label: Preset/Factory Reset
  kind: action
  params:
    - name: p1
      type: integer
      description: "0=Preset Load/Save, 1=Factory Reset"
    - name: p2
      type: integer
      description: "P1=0: 00=Load, 01=Save"

- id: slideshow_on_off
  label: Slide Show On/Off
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: slideshow_delay
  label: Slide Show Delay
  kind: action
  params:
    - name: p1
      type: integer
      description: "0~5: 0.5sec/1sec/3sec/5sec/10sec/Manual"

- id: image_record_quality
  label: Image/Record Quality
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=High, 01=Medium, 02=Low"

- id: copy_nand_to_sd
  label: Copy From Nand to SD
  kind: action
  params: []

- id: zoom_stop
  label: Zoom Stop
  kind: action
  params: []

- id: zoom_start_no_af
  label: Zoom Start (No AF)
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Tele, 01=Wide"
    - name: p2
      type: integer
      description: Speed 00~06

- id: zoom_direct_no_af
  label: Zoom Direct (No AF)
  kind: action
  params:
    - name: p1
      type: integer
      description: Low byte (0~855)
    - name: p2
      type: integer
      description: High byte (0~855)

- id: auto_erase
  label: Auto Erase
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: focus_stop
  label: Focus Stop
  kind: action
  params: []

- id: focus_start
  label: Focus Start
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Near, 01=Far"
    - name: p2
      type: integer
      description: Speed 00~06

- id: focus_direct
  label: Focus Direct
  kind: action
  params:
    - name: p1
      type: integer
      description: Low byte (0~776)
    - name: p2
      type: integer
      description: High byte (0~776)
    - name: p3
      type: integer
      description: Speed 00~06

- id: zoom_start_with_af
  label: Zoom Start (with AF)
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Tele, 01=Wide"
    - name: p2
      type: integer
      description: Speed

- id: zoom_direct_with_af
  label: Zoom Direct (with AF)
  kind: action
  params:
    - name: p1
      type: integer
      description: Low byte
    - name: p2
      type: integer
      description: High byte

- id: white_balance
  label: White Balance (AWB, Auto Tune)
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Auto Tune, 01=AWB"

- id: set_pan_mode
  label: Set Pan Mode
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: mask_mode
  label: Mask Mode
  kind: action
  params:
    - name: p1
      type: integer
      description: "0=Disable, 1=Mask, 2=Spotlight"

- id: freeze
  label: Freeze
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: brightness_control
  label: Brightness Control
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Auto, 01=Manual"
    - name: p2
      type: integer
      description: "AE Auto: 00~20 level; AE Manual: 00~147 step"

- id: logo_delay
  label: Logo Delay
  kind: action
  params:
    - name: p1
      type: integer
      description: "0~26 maps to 4~30 sec"

- id: language_select
  label: Language Select
  kind: action
  params:
    - name: p1
      type: integer
      description: "0=English...18=Korean (19 languages)"

- id: brightness_step
  label: Brightness Step
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=-1, 01=+1"

- id: source_live_pc
  label: Source Live/PC
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Camera, 01=PC, 02=Source OFF"

- id: disable_digital_zoom
  label: Disable Digital Zoom After Optical Zoom
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Disable, 01=Enable"

- id: call_master_version
  label: Call Master Version
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: ASCII code version byte 1
      - name: p2
        type: integer
        description: ASCII code version byte 2
      - name: p3
        type: integer
        description: ASCII code version byte 3

- id: call_ae_status
  label: Call AE Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Off, 01=On"

- id: enable_disable_logo_image
  label: Enable/Disable Logo Image
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Default Logo, 01=User Logo"

- id: playback_thumbnail
  label: Playback Thumbnail
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Thumbnail"

- id: all_osd_on_off
  label: All OSD On/Off
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: call_slave_version
  label: Call Slave Version
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: ASCII code version byte 1
      - name: p2
        type: integer
        description: ASCII code version byte 2
      - name: p3
        type: integer
        description: ASCII code version byte 3

- id: frame_average
  label: Frame Average
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=LCD, 01=DLP"

- id: call_lamp_status
  label: Call Lamp Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Lamp+Backlight OFF, 01=Lamp ON, 02=Backlight ON"

- id: call_text_photo_status
  label: Call Text/Photo Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Photo, 01=Text, 02=Gray"

- id: reg1
  label: reg1
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Read, 01=Write"
    - name: p2
      type: integer
      description: "0x00~0xff"

- id: reg2
  label: reg2
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Read, 01=Write"
    - name: p2
      type: integer
      description: "0x00~0xff"

- id: reg3
  label: reg3
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Read, 01=Write"
    - name: p2
      type: integer
      description: "0x00~0xff"

- id: error_code
  label: Error Code
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Show Error Code, 01=Clear Error Code"

- id: awb_correction
  label: AWB Correction
  kind: action
  params: []

- id: call_ac_power_state
  label: Call AC 50/60 Hz Power State
  kind: query
  params: []

- id: keypad_detect
  label: Keypad Detect
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Stop, 01=Start"

- id: call_zoom_position
  label: Call Zoom Position
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: Low byte
      - name: p2
        type: integer
        description: High byte
      - name: resolution
        type: string
        description: "Max varies by resolution (XGA:805, SXGA:802, WXGA:802, 1080P:795, NTSC:810, PAL:810)"

- id: call_digital_zoom_position
  label: Call Digital Zoom Position
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: Low byte
      - name: p2
        type: integer
        description: High byte

- id: call_focus_position
  label: Call Focus Position
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: Low byte (0~776)
      - name: p2
        type: integer
        description: High byte (0~776)

- id: call_freeze_status
  label: Call Freeze Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Off, 01=On"

- id: call_brightness_position
  label: Call Brightness Position
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "AE Auto: 00~20; AE Manual: 00~147"

- id: call_mix_zoom_position
  label: Call Mix Zoom Position
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: Low byte
      - name: p2
        type: integer
        description: High byte

- id: call_menu_status
  label: Call Menu Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Off, 01=On"

- id: capture_action
  label: Capture Action
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Single Capture, 01=Time Lapse, 02=Record, 03=Disabled"

- id: capture_time
  label: Capture Time
  kind: action
  params:
    - name: p1
      type: integer
      description: "00~06: 1hr/2hr/4hr/8hr/24hr/48hr/72hr"

- id: capture_interval
  label: Capture Interval
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=3sec, 01=5sec, 02=10sec, 03=30sec, 04=1min, 05=2min, 06=5min"

- id: key_function
  label: Key Function
  kind: action
  params:
    - name: p1
      type: integer
      description: "01=Enter, 02=Up, 03=Down, 04=Left, 05=Right, 06=Menu"

- id: set_rb_gain
  label: Set R/B Gain
  kind: action
  params:
    - name: p1
      type: integer
      description: "01=Red Gain, 02=Blue Gain"
    - name: p2
      type: integer
      description: Low byte (0x100~0xFFF)
    - name: p3
      type: integer
      description: High byte (0x100~0xFFF)

- id: call_rb_gain
  label: Call R/B Gain
  kind: query
  params:
    - name: p1
      type: integer
      description: "01=Red Gain, 02=Blue Gain"
  response:
    returns:
      - name: p1
        type: integer
        description: "01=Red Gain, 02=Blue Gain"
      - name: p2
        type: integer
        description: Low byte
      - name: p3
        type: integer
        description: High byte

- id: af_one_push_trigger
  label: AF One Push Trigger
  kind: action
  params:
    - name: p1
      type: integer
      description: "01 (fixed)"

- id: set_gamma_mode
  label: Set Gamma Mode
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Photo, 01=Text, 02=Gray"

- id: set_image_mode
  label: Set Image Mode
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Normal, 01=Slide, 02=Film, 03=Microscope"

- id: system_on_off
  label: System On/Off
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: power
  label: Power
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Off, 01=On"

- id: capture
  label: Capture
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Capture, 01=Record"

- id: playback
  label: Playback Thumbnail
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Thumbnail"

- id: preview_rotation
  label: Preview Rotation
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Rotate 0, 01=180, 02=Flip, 03=Mirror"

- id: delete
  label: Delete
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Delete one, 01=Delete all, 02=Format"

- id: call_system_status
  label: Call System Status
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "00=Not ready, 01=Ready to receive command"
      - name: p2
        type: integer
        description: "00=Off, 01=On (Power Status)"

- id: lamp_on_off
  label: Lamp On/Off
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=Lamp+Backlight OFF, 01=Lamp ON, 02=Backlight ON"

- id: firmware_upgrade
  label: Firmware Upgrade
  kind: action
  params:
    - name: p1
      type: integer
      description: "00=OSD, 01=No OSD"

- id: set_audio_volume
  label: Set Audio Volume
  kind: action
  params:
    - name: p1
      type: integer
      description: "0~31"

- id: call_audio_volume
  label: Call Audio Volume
  kind: query
  params: []
  response:
    returns:
      - name: p1
        type: integer
        description: "0~31"

- id: pe_storage_save
  label: PE Storage Test Data (Save)
  kind: action
  params:
    - name: p1
      type: integer
      description: "1~7: Address"
    - name: p2
      type: integer
      description: "0x00~0xff: Data"
    - name: p3
      type: integer
      description: "Data (high byte if applicable)"

- id: pe_storage_load
  label: PE Storage Test Data (Load)
  kind: action
  params:
    - name: p1
      type: integer
      description: "1~7: Address"
    - name: p2
      type: integer
      description: "0x00~0xff: Data"
    - name: p3
      type: integer
      description: "Data (high byte if applicable)"

Feedbacks

# Response packet structure from Section 4.2 and Section 6 return table
# Status byte encoding (bit structure from Section 4.1):
# Bit 7,6,5,4,3,2 = reserved
# Bit 1,0 = Communication Response: 0=ACK, 1=NAK, 2=IGNORE, 3=Not Used
#
# ACK (00): "Capable Of Normal End Or Normal Operation"
# NAK (01): Parity/Framing/Overrun error, or data out of range
# IGNORE (10): Cannot execute command (e.g., already in that state, unsupported)
# Not Used (11): Unsupported command

- id: command_ack
  label: Command ACK
  type: enum
  values:
    - ack
    - nak
    - ignore
    - not_used
  description: "Bit0/Bit1 of status byte: 00=ACK, 01=NAK, 10=IGNORE, 11=Not Used"

- id: zoom_moving_status
  label: Zoom Moving Status
  type: boolean
  description: "Bit 5 of status byte: 1=Moving, 0=Stop"

- id: focus_moving_status
  label: Focus Moving Status
  type: boolean
  description: "Bit 4 of status byte: 1=Moving, 0=Stop"

- id: iris_moving_status
  label: Iris Moving Status
  type: boolean
  description: "Bit 6 of status byte: 1=Moving, 0=Stop"

- id: command_result
  label: Command Result Status
  type: enum
  values:
    - succeed
    - nak
    - ignore
  description: "St byte from return packet: 0=Succeed, 1=NAK, 2=Ignore"

Variables

# Settable parameters tracked as variables (not discrete on/off actions):
- id: zoom_position
  label: Zoom Position
  type: integer
  range:
    min: 0
    max: 855
  description: Current optical zoom position (max varies by resolution mode)

- id: digital_zoom_position
  label: Digital Zoom Position
  type: integer
  description: Current digital zoom position (max varies: XGA=50, SXGA=53, WXGA=53, 1080P=60, NTSC/PAL=45)

- id: focus_position
  label: Focus Position
  type: integer
  range:
    min: 0
    max: 776

- id: brightness_level
  label: Brightness Level
  type: integer
  description: "AE Auto: 00~20; AE Manual: 00~147"

- id: audio_volume
  label: Audio Volume
  type: integer
  range:
    min: 0
    max: 31

- id: microphone_volume
  label: Microphone Volume
  type: integer
  range:
    min: 0
    max: 16

Events

# No unsolicited event descriptions found in source
# UNRESOLVED: device may send unsolicited status messages during keypad detect mode

Macros

# No explicit multi-step macros described in source
# UNRESOLVED: preset save/load sequences not described as macros

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source

Notes

Command Packet Structure (7 bytes): [STX=A0h] [Cmd] [P1] [P2] [Status] [ETX=AFh]

Return Packet Structure: [STX=A0h] [Cmd] [P1] [P2] [Status] [ETX=AFh] — device echoes command with status byte updated.

Response encoding (Section 4.2):

  • ACK (bits 1:0 = 00): command accepted
  • NAK (bits 1:0 = 01): parity/framing/overrun error or data out of range
  • IGNORE (bits 1:0 = 10): cannot execute (e.g., already in requested state, command not supported in current mode)
  • Not Used (bits 1:0 = 11): unsupported command

Resolution-dependent zoom maxima (from source):

Resolution Optical Zoom Max Digital Zoom Max
XGA 805 50
SXGA 802 53
WXGA 802 53
1080P 795 60
NTSC 810 45
PAL 810 45

Provenance

source_domains:
  - mylumens.com
source_urls:
  - "https://www.mylumens.com/Download/RS061%20-%20PS751%20RS-232%20command%20set_1_2.pdf"
  - "https://www.mylumens.com/Download/RS128%20-%20LC200%20RS-232%20command%20set_1_5.pdf"
  - "https://www.mylumens.com/en/Downloads/4?id2=8&keyword=PS751"
  - "https://www.mylumens.com/Download/DC193,V01_PS752,V01%20RS-232%20command%20set_1_0.pdf"
retrieved_at: 2026-05-17T22:10:06.787Z
last_checked_at: 2026-10-01T08:15:13.585Z

Verification Summary

verdict: verified
checked_at: 2026-10-01T08:15:13.585Z
matched_actions: 69
action_count: 69
confidence: medium
summary: "All 69 spec actions match source by semantic-id; coverage 69/71 above 0.9; 3 source commands (4Ah, D4h, D5h) unrepresented; playback and playback_thumbnail both map to B3h (many-to-one). (8 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- 4Ah
- D4h
- D5h
- "device class (document camera vs. PTZ) — source describes presenter/camera hybrid"
- "device may send unsolicited status messages during keypad detect mode"
- "preset save/load sequences not described as macros"
- "no safety warnings or interlock procedures in source"
- "device class confirmation (document camera vs. PTZ camera — prior attempt notes indicate possible PTZ camera, but source describes presenter with slide-show/capture features)"
- "RS-232 port connector type (DB-9 referenced in wire diagram, but gender/pinout details may be incomplete)"
- "TCP/IP support — source covers RS-232 only; IP control not confirmed"
- "firmware version compatibility — not stated in source"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0