Summary
AdNotam CS-101 Display Frame Unit (DFU) supports remote control through an ASCII-based RS-232 protocol over null-modem serial cable. Spec covers full documented command set: power, boot behavior, signal-loss behavior, sleep timer, keypad and cursor input, volume, mute, media controls, OSD, source selection, picture and audio settings, level controls, and RS-232 acknowledgement control.
Transport
protocols:
- serial
serial:
baud_rate: 38400
supported_baud_rates: [9600, 19200, 38400]
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
connector: "DB9 null-modem; host female, DFU male; pins 2 and 3 crossed, pin 5 straight"
auth:
type: UNRESOLVED # source describes no authentication procedure but does not explicitly state that none is required
Traits
traits:
- powerable # inferred: PWR power commands present
- queryable # inferred: status query commands present
- levelable # inferred: volume, picture, and audio level commands present
- routable # inferred: SRC input-selection commands present
Actions
# Commands require trailing CR (0x0D), omitted from command strings below.
# Every complete frame is exactly 9 bytes including CR.
# --- Power (PWR) ---
- id: power_toggle
label: Power Toggle
kind: action
command: "&PWR:TOG"
params: []
- id: power_on
label: Power On
kind: action
command: "&PWR:ON*"
params: []
- id: power_off
label: Power Off
kind: action
command: "&PWR:OFF"
params: []
- id: power_status_query
label: Get Power Status
kind: query
command: "&PWR?***"
params: []
# --- Boot mode (BOT) ---
- id: boot_set_on
label: Boot Set to On
kind: action
command: "&BOT:ON*"
params: []
- id: boot_set_standby
label: Boot Set to Standby
kind: action
command: "&BOT:SBY"
params: []
- id: boot_set_last
label: Boot Set to Last
kind: action
command: "&BOT:LST"
params: []
- id: boot_status_query
label: Get Boot Setup
kind: query
command: "&BOT?***"
params: []
# --- Signal loss (SLS) ---
- id: signal_loss_5s
label: Signal Loss 5 Seconds
kind: action
command: "&SLS:05s"
params: []
- id: signal_loss_10s
label: Signal Loss 10 Seconds
kind: action
command: "&SLS:10s"
params: []
- id: signal_loss_30s
label: Signal Loss 30 Seconds
kind: action
command: "&SLS:30s"
params: []
- id: signal_loss_1m
label: Signal Loss 1 Minute
kind: action
command: "&SLS:01m"
params: []
- id: signal_loss_2m
label: Signal Loss 2 Minutes
kind: action
command: "&SLS:02m"
params: []
- id: signal_loss_off
label: Signal Loss Off
kind: action
command: "&SLS:OFF"
params: []
- id: signal_loss_query
label: Get Signal Loss Setup
kind: query
command: "&SLS?***"
params: []
# --- Sleep timer (SLP) ---
- id: sleep_15min
label: Sleep Timer 15 Minutes
kind: action
command: "&SLP:015"
params: []
- id: sleep_30min
label: Sleep Timer 30 Minutes
kind: action
command: "&SLP:030"
params: []
- id: sleep_45min
label: Sleep Timer 45 Minutes
kind: action
command: "&SLP:045"
params: []
- id: sleep_60min
label: Sleep Timer 60 Minutes
kind: action
command: "&SLP:060"
params: []
- id: sleep_90min
label: Sleep Timer 90 Minutes
kind: action
command: "&SLP:090"
params: []
- id: sleep_120min
label: Sleep Timer 120 Minutes
kind: action
command: "&SLP:120"
params: []
- id: sleep_off
label: Sleep Timer Off
kind: action
command: "&SLP:OFF"
params: []
- id: sleep_status_query
label: Get Sleep Timer Status
kind: query
command: "&SLP?***"
params: []
# --- Numeric keypad (NUM) ---
- id: digit_1
label: Digit 1
kind: action
command: "&NUM:001"
params: []
- id: digit_2
label: Digit 2
kind: action
command: "&NUM:002"
params: []
- id: digit_3
label: Digit 3
kind: action
command: "&NUM:003"
params: []
- id: digit_4
label: Digit 4
kind: action
command: "&NUM:004"
params: []
- id: digit_5
label: Digit 5
kind: action
command: "&NUM:005"
params: []
- id: digit_6
label: Digit 6
kind: action
command: "&NUM:006"
params: []
- id: digit_7
label: Digit 7
kind: action
command: "&NUM:007"
params: []
- id: digit_8
label: Digit 8
kind: action
command: "&NUM:008"
params: []
- id: digit_9
label: Digit 9
kind: action
command: "&NUM:009"
params: []
- id: digit_0
label: Digit 0
kind: action
command: "&NUM:000"
params: []
# --- Cursor / OK (CRS) ---
- id: cursor_ok
label: OK
kind: action
command: "&CRS:OK*"
params: []
- id: cursor_up
label: Up
kind: action
command: "&CRS:UP*"
params: []
- id: cursor_down
label: Down
kind: action
command: "&CRS:DN*"
params: []
- id: cursor_left
label: Left
kind: action
command: "&CRS:LT*"
params: []
- id: cursor_right
label: Right
kind: action
command: "&CRS:RT*"
params: []
# --- Volume (VOL) ---
- id: volume_up
label: Volume +
kind: action
command: "&VOL:UP*"
params: []
- id: volume_down
label: Volume -
kind: action
command: "&VOL:DN*"
params: []
- id: volume_query
label: Get Volume Level
kind: query
command: "&VOL?***"
params: []
# --- Mute (MUT) ---
- id: mute_toggle
label: Mute Toggle
kind: action
command: "&MUT:TOG"
params: []
- id: mute_on
label: Mute On
kind: action
command: "&MUT:ON*"
params: []
- id: mute_off
label: Mute Off
kind: action
command: "&MUT:OFF"
params: []
- id: mute_status_query
label: Get Mute Status
kind: query
command: "&MUT?***"
params: []
# --- Media function (FNC) ---
- id: func_play
label: Play
kind: action
command: "&FNC:PLY"
params: []
- id: func_pause
label: Pause
kind: action
command: "&FNC:PSE"
params: []
- id: func_stop
label: Stop
kind: action
command: "&FNC:STP"
params: []
- id: func_skip_forward
label: Skip Forward / Chapter +
kind: action
command: "&FNC:NXT"
params: []
- id: func_skip_backward
label: Skip Backward / Chapter -
kind: action
command: "&FNC:PRV"
params: []
- id: func_fast_forward
label: Fast Forward
kind: action
command: "&FNC:FWD"
params: []
- id: func_fast_backward
label: Fast Backward
kind: action
command: "&FNC:RWD"
params: []
# --- Exit (EXT) ---
- id: exit
label: Exit
kind: action
command: "&EXT:***"
params: []
# --- OSD access (OSA) ---
- id: osd_access_on
label: OSD Access On
kind: action
command: "&OSA:ON*"
params: []
- id: osd_access_off
label: OSD Access Off
kind: action
command: "&OSA:OFF"
params: []
- id: osd_access_query
label: Get OSD Access Status
kind: query
command: "&OSA?***"
params: []
# --- OSD menu (OSD) ---
- id: osd_toggle
label: OSD Toggle (Open/Close)
kind: action
command: "&OSD:TOG"
params: []
- id: osd_on
label: OSD On (Open)
kind: action
command: "&OSD:ON*"
params: []
- id: osd_off
label: OSD Off (Close)
kind: action
command: "&OSD:OFF"
params: []
- id: osd_status_query
label: Get OSD Status
kind: query
command: "&OSD?***"
params: []
# --- Input source (SRC) ---
- id: input_hdmi_1
label: Input HDMI 1
kind: action
command: "&SRC:HD1"
params: []
- id: input_hdmi_2
label: Input HDMI 2
kind: action
command: "&SRC:HD2"
params: []
- id: input_hdmi_3
label: Input HDMI 3
kind: action
command: "&SRC:HD3"
params: []
- id: input_component
label: Input Component
kind: action
command: "&SRC:RGB"
params: []
- id: input_usb_dmp
label: Input USB / DMP
kind: action
command: "&SRC:USB"
params: []
- id: input_status_query
label: Get Input Status
kind: query
command: "&SRC?***"
params: []
# --- Aspect ratio (ASP) ---
- id: aspect_16_9
label: "Aspect 16:9"
kind: action
command: "&ASP:169"
params: []
- id: aspect_4_3
label: "Aspect 4:3"
kind: action
command: "&ASP:043"
params: []
- id: aspect_zoom_1
label: Zoom 1
kind: action
command: "&ASP:ZM1"
params: []
- id: aspect_zoom_2
label: Zoom 2
kind: action
command: "&ASP:ZM2"
params: []
- id: aspect_status_query
label: Get Aspect Status
kind: query
command: "&ASP?***"
params: []
# --- Picture mode / color temperature (PCT) ---
- id: picture_mode_standard
label: Picture Mode Standard
kind: action
command: "&PCT:STD"
params: []
- id: picture_mode_user
label: Picture Mode User
kind: action
command: "&PCT:USR"
params: []
- id: picture_mode_dynamic
label: Picture Mode Dynamic
kind: action
command: "&PCT:DYN"
params: []
- id: picture_mode_mild
label: Picture Mode Mild
kind: action
command: "&PCT:MLD"
params: []
- id: picture_temp_cool
label: Picture Temperature Cool
kind: action
command: "&PCT:COL"
params: []
- id: picture_temp_medium
label: Picture Temperature Medium
kind: action
command: "&PCT:MED"
params: []
- id: picture_temp_warm
label: Picture Temperature Warm
kind: action
command: "&PCT:WRM"
params: []
# --- Brightness (BRT) ---
- id: brightness_up
label: Brightness +
kind: action
command: "&BRT:UP*"
params: []
- id: brightness_down
label: Brightness -
kind: action
command: "&BRT:DN*"
params: []
- id: brightness_query
label: Get Brightness Level
kind: query
command: "&BRT?***"
params: []
# --- Contrast (CON) ---
- id: contrast_up
label: Contrast +
kind: action
command: "&CON:UP*"
params: []
- id: contrast_down
label: Contrast -
kind: action
command: "&CON:DN*"
params: []
- id: contrast_query
label: Get Contrast Level
kind: query
command: "&CON?***"
params: []
# --- Saturation (STR) ---
- id: saturation_up
label: Saturation +
kind: action
command: "&STR:UP*"
params: []
- id: saturation_down
label: Saturation -
kind: action
command: "&STR:DN*"
params: []
- id: saturation_query
label: Get Saturation Level
kind: query
command: "&STR?***"
params: []
# --- Sharpness (SRP) ---
- id: sharpness_up
label: Sharpness +
kind: action
command: "&SRP:UP*"
params: []
- id: sharpness_down
label: Sharpness -
kind: action
command: "&SRP:DN*"
params: []
- id: sharpness_query
label: Get Sharpness Level
kind: query
command: "&SRP?***"
params: []
# --- Backlight (BLT) ---
- id: backlight_up
label: Backlight +
kind: action
command: "&BLT:UP*"
params: []
- id: backlight_down
label: Backlight -
kind: action
command: "&BLT:DN*"
params: []
- id: backlight_query
label: Get Backlight Level
kind: query
command: "&BLT?***"
params: []
# --- Audio mode (AUD) ---
- id: audio_mode_standard
label: Audio Mode Standard
kind: action
command: "&AUD:STD"
params: []
- id: audio_mode_user
label: Audio Mode User
kind: action
command: "&AUD:USR"
params: []
- id: audio_mode_music
label: Audio Mode Music
kind: action
command: "&AUD:MUS"
params: []
- id: audio_mode_movie
label: Audio Mode Movie
kind: action
command: "&AUD:MOV"
params: []
- id: audio_mode_sports
label: Audio Mode Sports
kind: action
command: "&AUD:SPR"
params: []
# --- Bass (BAS) ---
- id: bass_up
label: Bass +
kind: action
command: "&BAS:UP*"
params: []
- id: bass_down
label: Bass -
kind: action
command: "&BAS:DN*"
params: []
- id: bass_query
label: Get Bass Level
kind: query
command: "&BAS?***"
params: []
# --- Treble (TRB) ---
- id: treble_up
label: Treble +
kind: action
command: "&TRB:UP*"
params: []
- id: treble_down
label: Treble -
kind: action
command: "&TRB:DN*"
params: []
- id: treble_query
label: Get Treble Level
kind: query
command: "&TRB?***"
params: []
# --- Balance (BAL) ---
- id: balance_left
label: Balance Left
kind: action
command: "&BAL:LT*"
params: []
- id: balance_right
label: Balance Right
kind: action
command: "&BAL:RT*"
params: []
- id: balance_query
label: Get Balance Level # source table labels this row 'Get bass level'; likely source typo, BAL is the balance command
description: "Source table labels this command 'Get bass level' (likely a typo: identifier BAL is Balance, the BAL set commands are 'Balance left/right', and the ack is %BAL:XXX in range -50 to +50; bass query is &BAS?***)."
kind: query
command: "&BAL?***"
params: []
# --- Boot volume (BVL) ---
- id: boot_volume_up
label: Boot Volume Level +
kind: action
command: "&BVL:UP*"
params: []
- id: boot_volume_down
label: Boot Volume Level -
kind: action
command: "&BVL:DN*"
params: []
- id: boot_volume_query
label: Get Boot Volume Level
kind: query
command: "&BVL?***"
params: []
# --- RS-232 acknowledgement enable (ECO) ---
- id: echo_on
label: Set RS-232 Echo On
kind: action
command: "&ECO:ON*"
params: []
- id: echo_off
label: Set RS-232 Echo Off
kind: action
command: "&ECO:OFF"
params: []
Feedbacks
# Successful acknowledgements begin with '%' and end with CR (0x0D).
# Acknowledgement is enabled by default and controlled by ECO commands.
- id: command_acknowledgement
type: frame
header: "%"
terminator: "0x0D"
length_bytes: 9
description: "Identifier and value reflect acknowledged command or resulting value."
- id: power_state
type: enum
values: ["ON*", "OFF"]
response_template: "%PWR:{value}"
on_query: power_status_query
- id: boot_mode
type: enum
values: ["ON*", "SBY", "LST"]
response_template: "%BOT:{value}"
on_query: boot_status_query
- id: signal_loss_mode
type: enum
values: ["05s", "10s", "30s", "01m", "02m", "OFF"]
response_template: "%SLS:{value}"
on_query: signal_loss_query
- id: sleep_timer_state
type: enum
values: ["015", "030", "045", "060", "090", "120", "OFF"]
response_template: "%SLP:{value}"
on_query: sleep_status_query
- id: volume_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%VOL:{value}"
on_query: volume_query
- id: mute_state
type: enum
values: ["ON*", "OFF"]
response_template: "%MUT:{value}"
on_query: mute_status_query
- id: osd_access_state
type: enum
values: ["ON*", "OFF"]
response_template: "%OSA:{value}"
on_query: osd_access_query
- id: osd_state
type: enum
values: ["ON*", "OFF"]
response_template: "%OSD:{value}"
on_query: osd_status_query
- id: input_source
type: enum
values: ["HD1", "HD2", "HD3", "RGB", "USB"]
response_template: "%SRC:{value}"
on_query: input_status_query
- id: aspect_mode
type: enum
values: ["169", "043", "ZM1", "ZM2"]
response_template: "%ASP:{value}"
on_query: aspect_status_query
- id: brightness_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%BRT:{value}"
on_query: brightness_query
- id: contrast_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%CON:{value}"
on_query: contrast_query
- id: saturation_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%STR:{value}"
on_query: saturation_query
- id: sharpness_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%SRP:{value}"
on_query: sharpness_query
- id: backlight_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%BLT:{value}"
on_query: backlight_query
- id: bass_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%BAS:{value}"
on_query: bass_query
- id: treble_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%TRB:{value}"
on_query: treble_query
- id: balance_level
type: integer
range: [-50, 50]
response_template: "%BAL:{value}"
on_query: balance_query
- id: boot_volume_level
type: integer
range: [0, 100]
format: "%03d"
response_template: "%BVL:{value}"
on_query: boot_volume_query
Variables
# Source documents relative level adjustment only; no absolute-value set syntax.
# UNRESOLVED: no direct absolute-level write syntax stated in source.
Events
- id: error_message
description: "Returned instead of normal '%' acknowledgement when command is invalid or unavailable. Frame begins with '!' and ends with CR."
codes:
"!ERR:001":
meaning: "Access denied"
description: "Command disabled by unit settings"
"!ERR:002":
meaning: "Not available"
description: "Command currently not available"
"!ERR:003":
meaning: "Not implemented"
description: "Command not implemented in this model"
"!ERR:004":
meaning: "Value out of range"
description: "Supplied value is outside accepted range"
Macros
# UNRESOLVED: source documents no named multi-step sequences.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source states no safety warnings, interlocks, or damage-prevention sequences.
Notes
- Command frame:
&header, three-byte case-sensitive identifier, optional:or?separator, optional three-byte value, and CR (0x0D). - Command and acknowledgement frames are always nine bytes including CR. Spaces are prohibited.
- Values shorter than three bytes are right-padded with
*. - Successful acknowledgement uses
%header. Invalid or unavailable command response uses!header. - Wait 10 seconds after power-on before sending next command.
- Wait for response before sending next command.
- Wait at least 2 seconds before resending when no response arrives.
- Wait at least 500 ms between commands.
- Wait at least 5 seconds after sending 20 commands.
- Default baud rate is 38400. Baud rate is selectable through OSD service menu from 9600, 19200, and 38400.
&EXT:***contains three literal asterisks.
Provenance
source_domains:
- ad-notam.com
source_urls:
- https://www.ad-notam.com/download/RS232/ad_notam_RS232_protocol_DFU.pdf
retrieved_at: 2026-08-09T16:55:07.626Z
last_checked_at: 2026-10-01T06:45:24.265Z
Verification Summary
verdict: verified
checked_at: 2026-10-01T06:45:24.265Z
matched_actions: 112
action_count: 112
confidence: medium
summary: "All 112 spec actions match source command table literally; transport values supported and the source catalogue is fully covered. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "firmware compatibility and DFU model variants beyond CS-101 are not stated in source."
- "no direct absolute-level write syntax stated in source."
- "source documents no named multi-step sequences."
- "source states no safety warnings, interlocks, or damage-prevention sequences."
- "firmware version compatibility not stated in source."
- "DFU model variants beyond CS-101 not enumerated in source."
- "no absolute-level write syntax documented."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0