Summary
Rotel RC-1590 stereo preamplifier controlled via an ASCII command protocol over RS-232 (115200 8N1, no flow control) and TCP/IP (port 9590). This spec covers the V2.0 command set (main CPU firmware V1.40 and newer) and the legacy V1.0 command set (pre-V1.40), including control commands, feedback queries, and response string formats as documented in Rotel's "RC-1590 RS232 / IP ASCII Controller Command List" (spec version 2.00, July 16, 2019).
Transport
protocols:
- serial
- tcp
addressing:
port: 9590
serial:
baud_rate: 115200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
# - powerable (inferred from power_on!/power_off!/power_toggle! commands)
# - queryable (inferred from power?, source?, volume?, get_* query commands)
# - levelable (inferred from vol_nn!, bass/treble/balance set commands)
# - routable (inferred from source selection commands cd!/coax1!/opt1!/etc.)
traits:
- powerable
- queryable
- levelable
- routable
Actions
# All commands MUST be terminated with "!" (no spaces, no CR/LF after it).
# Commands marked (both) use the same ASCII string on all firmware revisions;
# only the feedback terminator differs ("$" on fw >= 1.40, "!" on older fw).
# --- POWER & VOLUME (V2.0, fw >= 1.40; power/mute strings identical on V1.0) ---
- id: power_on
label: Power On (both revisions)
kind: action
command: "power_on!"
params: []
- id: power_off
label: Power Off (both revisions)
kind: action
command: "power_off!"
params: []
- id: power_toggle
label: Power Toggle (both revisions)
kind: action
command: "power_toggle!"
params: []
- id: vol_up
label: Volume Up (V2.0)
kind: action
command: "vol_up!"
params: []
- id: vol_dwn
label: Volume Down (V2.0)
kind: action
command: "vol_dwn!"
params: []
- id: vol_min
label: Set Volume to Min (V2.0)
kind: action
command: "vol_min!"
params: []
- id: vol_set
label: Set Volume to Level (V2.0)
kind: action
command: "vol_nn!"
params:
- name: level
type: integer
description: "Volume level nn, 01-96, two digits"
- id: mute_toggle
label: Mute Toggle (both revisions)
kind: action
command: "mute!"
params: []
- id: mute_on
label: Mute On (both revisions)
kind: action
command: "mute_on!"
params: []
- id: mute_off
label: Mute Off (both revisions)
kind: action
command: "mute_off!"
params: []
# --- POWER & VOLUME (V1.0 legacy, fw < 1.40) ---
- id: volume_up
label: Volume Up (V1.0 legacy)
kind: action
command: "volume_up!"
params: []
- id: volume_down
label: Volume Down (V1.0 legacy)
kind: action
command: "volume_down!"
params: []
- id: volume_min
label: Set Volume to Min (V1.0 legacy)
kind: action
command: "volume_min!"
params: []
- id: volume_set
label: Set Volume to Level (V1.0 legacy)
kind: action
command: "volume_n!"
params:
- name: level
type: integer
description: "Volume level n, 1-96"
- id: volume_max
label: Set Volume to Max (V1.0 legacy; removed in V2.0)
kind: action
command: "volume_max!"
params: []
# --- SOURCE SELECTION (command strings shared by both revisions) ---
- id: source_cd
label: Source CD (both revisions)
kind: action
command: "cd!"
params: []
- id: source_coax1
label: Source Coax 1 (both revisions)
kind: action
command: "coax1!"
params: []
- id: source_coax2
label: Source Coax 2 (both revisions)
kind: action
command: "coax2!"
params: []
- id: source_coax3
label: Source Coax 3 (both revisions)
kind: action
command: "coax3!"
params: []
- id: source_opt1
label: Source Optical 1 (both revisions)
kind: action
command: "opt1!"
params: []
- id: source_opt2
label: Source Optical 2 (both revisions)
kind: action
command: "opt2!"
params: []
- id: source_opt3
label: Source Optical 3 (both revisions)
kind: action
command: "opt3!"
params: []
- id: source_aux
label: Source Aux (both revisions)
kind: action
command: "aux!"
params: []
- id: source_tuner
label: Source Tuner (both revisions)
kind: action
command: "tuner!"
params: []
- id: source_phono
label: Source Phono (both revisions)
kind: action
command: "phono!"
params: []
- id: source_usb
label: Source Front USB (both revisions)
kind: action
command: "usb!"
params: []
- id: source_bluetooth
label: Source Bluetooth (both revisions)
kind: action
command: "bluetooth!"
params: []
- id: source_bal_xlr
label: Source XLR (both revisions)
kind: action
command: "bal_xlr!"
params: []
- id: source_pcusb
label: Source PC-USB (V2.0)
kind: action
command: "pcusb!"
params: []
- id: source_pc_usb
label: Source PC-USB (V1.0 legacy spelling)
kind: action
command: "pc_usb!"
params: []
- id: source_rcd
label: Source Rotel CD (V1.0 legacy; removed in V2.0)
kind: action
command: "rcd!"
params: []
# --- SOURCE CONTROL / TRANSPORT ---
- id: play
label: Play Source (both revisions)
kind: action
command: "play!"
params: []
- id: stop
label: Stop Source (both revisions)
kind: action
command: "stop!"
params: []
- id: pause
label: Pause Source (both revisions)
kind: action
command: "pause!"
params: []
- id: trkf
label: Track Forward / Tune Up (V2.0)
kind: action
command: "trkf!"
params: []
- id: trkb
label: Track Backward / Tune Down (V2.0)
kind: action
command: "trkb!"
params: []
- id: track_fwd
label: Track Forward / Tune Up (V1.0 legacy)
kind: action
command: "track_fwd!"
params: []
- id: track_back
label: Track Backward / Tune Down (V1.0 legacy)
kind: action
command: "track_back!"
params: []
- id: fast_fwd
label: Fast Forward / Search Forward (V1.0 legacy; removed in V2.0)
kind: action
command: "fast_fwd!"
params: []
- id: fast_back
label: Fast Backward / Search Backward (V1.0 legacy; removed in V2.0)
kind: action
command: "fast_back!"
params: []
# --- MENU CONTROL (V1.0 legacy; removed in V2.0) ---
- id: menu
label: Display the Menu (V1.0 legacy)
kind: action
command: "menu!"
params: []
- id: exit
label: Exit Key (V1.0 legacy)
kind: action
command: "exit!"
params: []
- id: cursor_up
label: Cursor Up (V1.0 legacy)
kind: action
command: "up!"
params: []
- id: cursor_down
label: Cursor Down (V1.0 legacy)
kind: action
command: "down!"
params: []
- id: cursor_left
label: Cursor Left (V1.0 legacy)
kind: action
command: "left!"
params: []
- id: cursor_right
label: Cursor Right (V1.0 legacy)
kind: action
command: "right!"
params: []
- id: enter
label: Enter Key (V1.0 legacy)
kind: action
command: "enter!"
params: []
# --- NUMERIC KEY COMMANDS (V1.0 legacy; removed in V2.0) ---
- id: num_1
label: Number Key 1 (V1.0 legacy)
kind: action
command: "1!"
params: []
- id: num_2
label: Number Key 2 (V1.0 legacy)
kind: action
command: "2!"
params: []
- id: num_3
label: Number Key 3 (V1.0 legacy)
kind: action
command: "3!"
params: []
- id: num_4
label: Number Key 4 (V1.0 legacy)
kind: action
command: "4!"
params: []
- id: num_5
label: Number Key 5 (V1.0 legacy)
kind: action
command: "5!"
params: []
- id: num_6
label: Number Key 6 (V1.0 legacy)
kind: action
command: "6!"
params: []
- id: num_7
label: Number Key 7 (V1.0 legacy)
kind: action
command: "7!"
params: []
- id: num_8
label: Number Key 8 (V1.0 legacy)
kind: action
command: "8!"
params: []
- id: num_9
label: Number Key 9 (V1.0 legacy)
kind: action
command: "9!"
params: []
- id: num_0
label: Number Key 0 (V1.0 legacy)
kind: action
command: "0!"
params: []
# --- TONE CONTROL ---
- id: bypass_on
label: Tone Bypass On (V2.0)
kind: action
command: "bypass_on!"
params: []
- id: bypass_off
label: Tone Bypass Off (V2.0)
kind: action
command: "bypass_off!"
params: []
- id: tone_on
label: Tone Controls On (V1.0 legacy)
kind: action
command: "tone_on!"
params: []
- id: tone_off
label: Tone Controls Off (V1.0 legacy)
kind: action
command: "tone_off!"
params: []
- id: bass_up
label: Bass Up (both revisions)
kind: action
command: "bass_up!"
params: []
- id: bass_down
label: Bass Down (both revisions)
kind: action
command: "bass_down!"
params: []
- id: bass_set_neg10
label: Set Bass to -10 (both revisions)
kind: action
command: "bass_-10!"
params: []
- id: bass_set_000
label: Set Bass to 0 (both revisions)
kind: action
command: "bass_000!"
params: []
- id: bass_set_pos10
label: Set Bass to +10 (both revisions)
kind: action
command: "bass_+10!"
params: []
- id: treble_up
label: Treble Up (both revisions)
kind: action
command: "treble_up!"
params: []
- id: treble_down
label: Treble Down (both revisions)
kind: action
command: "treble_down!"
params: []
- id: treble_set_neg10
label: Set Treble to -10 (both revisions)
kind: action
command: "treble_-10!"
params: []
- id: treble_set_000
label: Set Treble to 0 (both revisions)
kind: action
command: "treble_000!"
params: []
- id: treble_set_pos10
label: Set Treble to +10 (both revisions)
kind: action
command: "treble_+10!"
params: []
# --- BALANCE CONTROL ---
- id: balance_r
label: Balance Right (V2.0)
kind: action
command: "balance_r!"
params: []
- id: balance_l
label: Balance Left (V2.0)
kind: action
command: "balance_l!"
params: []
- id: balance_right
label: Balance Right (V1.0 legacy)
kind: action
command: "balance_right!"
params: []
- id: balance_left
label: Balance Left (V1.0 legacy)
kind: action
command: "balance_left!"
params: []
- id: balance_set_l15
label: Set Balance to Max Left (V2.0)
kind: action
command: "balance_l15!"
params: []
- id: balance_set_r15
label: Set Balance to Max Right (V2.0)
kind: action
command: "balance_r15!"
params: []
- id: balance_set_L15
label: Set Balance to Max Left (V1.0 legacy, uppercase)
kind: action
command: "balance_L15!"
params: []
- id: balance_set_R15
label: Set Balance to Max Right (V1.0 legacy, uppercase)
kind: action
command: "balance_R15!"
params: []
- id: balance_set_000
label: Set Balance to 0 (both revisions)
kind: action
command: "balance_000!"
params: []
# --- DIMMER / PC-USB CLASS (command strings shared by both revisions) ---
- id: dimmer_toggle
label: Toggle Display Dimmer (both revisions)
kind: action
command: "dimmer!"
params: []
- id: dimmer_0
label: Set Display Brightest (both revisions)
kind: action
command: "dimmer_0!"
params: []
- id: dimmer_1
label: Set Display Dimmer Level 1 (both revisions)
kind: action
command: "dimmer_1!"
params: []
- id: dimmer_2
label: Set Display Dimmer Level 2 (both revisions)
kind: action
command: "dimmer_2!"
params: []
- id: dimmer_3
label: Set Display Dimmer Level 3 (both revisions)
kind: action
command: "dimmer_3!"
params: []
- id: dimmer_4
label: Set Display Dimmer Level 4 (both revisions)
kind: action
command: "dimmer_4!"
params: []
- id: dimmer_5
label: Set Display Dimmer Level 5 (both revisions)
kind: action
command: "dimmer_5!"
params: []
- id: dimmer_6
label: Set Display Dimmest (both revisions)
kind: action
command: "dimmer_6!"
params: []
- id: pcusb_class_1
label: Set PC-USB Audio Class 1.0 (both revisions)
kind: action
command: "pcusb_class_1!"
params: []
- id: pcusb_class_2
label: Set PC-USB Audio Class 2.0 (both revisions)
kind: action
command: "pcusb_class_2!"
params: []
# --- POWER MODE (V1.0 legacy; removed in V2.0) ---
- id: power_mode_quick
label: Set Power Mode Quick (V1.0 legacy)
kind: action
command: "power_mode_quick!"
params: []
- id: power_mode_normal
label: Set Power Mode Normal (V1.0 legacy)
kind: action
command: "power_mode_normal!"
params: []
# --- SYSTEM / UPDATE MODE ---
- id: rs232_update_on
label: Set RS232 Update Auto On (V2.0)
kind: action
command: "rs232_update_on!"
params: []
- id: rs232_update_off
label: Set RS232 Update Manual Off (V2.0)
kind: action
command: "rs232_update_off!"
params: []
- id: display_update_auto
label: Set Display Update Auto (V1.0 legacy)
kind: action
command: "display_update_auto!"
params: []
- id: display_update_manual
label: Set Display Update Manual (V1.0 legacy)
kind: action
command: "display_update_manual!"
params: []
- id: factory_default
label: Reset Unit to Factory Defaults (V1.0 legacy)
kind: action
command: "factory_default_on!"
params: []
# --- FEEDBACK QUERIES (V2.0, fw >= 1.40) ---
- id: q_power
label: Power Status Query (V2.0)
kind: query
command: "power?"
params: []
- id: q_source
label: Current Source Query (V2.0)
kind: query
command: "source?"
params: []
- id: q_volume
label: Current Volume Query (V2.0)
kind: query
command: "volume?"
params: []
- id: q_mute
label: Mute Status Query (V2.0)
kind: query
command: "mute?"
params: []
- id: q_bypass
label: Tone Bypass State Query (V2.0)
kind: query
command: "bypass?"
params: []
- id: q_bass
label: Bass Level Query (V2.0)
kind: query
command: "bass?"
params: []
- id: q_treble
label: Treble Level Query (V2.0)
kind: query
command: "treble?"
params: []
- id: q_balance
label: Balance Setting Query (V2.0)
kind: query
command: "balance?"
params: []
- id: q_freq
label: Digital Input Frequency Query (V2.0)
kind: query
command: "freq?"
params: []
- id: q_dimmer
label: Dimmer Level Query (V2.0)
kind: query
command: "dimmer?"
params: []
- id: q_pcusb
label: PC-USB Class Query (V2.0)
kind: query
command: "pcusb?"
params: []
- id: q_version
label: Main CPU Software Version Query (V2.0)
kind: query
command: "version?"
params: []
- id: q_pc_version
label: PC-USB Software Version Query (V2.0)
kind: query
command: "pc_version?"
params: []
- id: q_ip
label: IP Address Query (V2.0)
kind: query
command: "ip?"
params: []
- id: q_mac
label: MAC Address Query (V2.0)
kind: query
command: "mac?"
params: []
- id: q_model
label: Model Number Query (V2.0)
kind: query
command: "model?"
params: []
- id: q_discover
label: Network Identify / Discovery Query (V2.0)
kind: query
command: "discover?"
params: []
# --- FEEDBACK QUERIES (V1.0 legacy, fw < 1.40) ---
- id: q_get_current_power
label: Power Status Query (V1.0 legacy)
kind: query
command: "get_current_power!"
params: []
- id: q_get_current_source
label: Current Source Query (V1.0 legacy)
kind: query
command: "get_current_source!"
params: []
- id: q_get_volume
label: Current Volume Query (V1.0 legacy)
kind: query
command: "get_volume!"
params: []
- id: q_get_volume_max
label: Max Volume Query (V1.0 legacy)
kind: query
command: "get_volume_max!"
params: []
- id: q_get_volume_min
label: Min Volume Query (V1.0 legacy)
kind: query
command: "get_volume_min!"
params: []
- id: q_get_mute_status
label: Mute Status Query (V1.0 legacy)
kind: query
command: "get_mute_status!"
params: []
- id: q_get_tone
label: Tone Control State Query (V1.0 legacy)
kind: query
command: "get_tone!"
params: []
- id: q_get_tone_max
label: Max Tone Value Query (V1.0 legacy)
kind: query
command: "get_tone_max!"
params: []
- id: q_get_bass
label: Bass Level Query (V1.0 legacy)
kind: query
command: "get_bass!"
params: []
- id: q_get_treble
label: Treble Level Query (V1.0 legacy)
kind: query
command: "get_treble!"
params: []
- id: q_get_balance
label: Balance Setting Query (V1.0 legacy)
kind: query
command: "get_balance!"
params: []
- id: q_get_current_freq
label: Digital Input Frequency Query (V1.0 legacy)
kind: query
command: "get_current_freq!"
params: []
- id: q_get_current_dimmer
label: Dimmer Level Query (V1.0 legacy; listed in Appendix A)
kind: query
command: "get_current_dimmer!"
params: []
- id: q_get_pcusb_class
label: PC-USB Class Query (V1.0 legacy)
kind: query
command: "get_pcusb_class!"
params: []
- id: q_get_power_mode
label: Power Mode Query (V1.0 legacy)
kind: query
command: "get_power_mode!"
params: []
- id: q_get_display
label: Request Entire Display (V1.0 legacy)
kind: query
command: "get_display!"
params: []
- id: q_get_display1
label: Request Display Line 1 (V1.0 legacy)
kind: query
command: "get_display1!"
params: []
- id: q_get_display2
label: Request Display Line 2 (V1.0 legacy)
kind: query
command: "get_display2!"
params: []
- id: q_get_display_size
label: Request Display Size (V1.0 legacy; requires main software V1.2.9 or later)
kind: query
command: "get_display_size!"
params: []
- id: q_get_display_update
label: Request Display Update Mode (V1.0 legacy; requires main software V1.2.9 or later)
kind: query
command: "get_display_update!"
params: []
- id: q_get_product_type
label: Request Product Type (V1.0 legacy)
kind: query
command: "get_product_type!"
params: []
- id: q_get_product_version
label: Request Main CPU Software Version (V1.0 legacy)
kind: query
command: "get_product_version!"
params: []
Feedbacks
# Response terminator: "$" on fw >= 1.40 (V2.0), "!" on fw < 1.40 (V1.0).
# Variable-length display text uses a length prefix + "," instead of a terminator.
- id: power_state
type: enum
values: [on, standby]
format: "power=on$ / power=standby$"
- id: volume_level
type: integer
range: "00-96, two digits"
format: "volume=##$"
- id: mute_state
type: enum
values: [on, off]
format: "mute=on$ / mute=off$"
- id: source
type: enum
values: [cd, coax1, coax2, coax3, opt1, opt2, opt3, tuner, phono, usb, aux, pc_usb, bal_xlr, bluetooth]
format: "source=cd$ etc."
notes: "If an input is set as the Rotel Link RCD input, its response string gains a _cd suffix (e.g. source=coax1_cd$)"
- id: tone_bypass_state
type: enum
values: [on, off]
format: "bypass=on$ / bypass=off$"
- id: tone_state_legacy
type: enum
values: [on, off]
format: "tone=on! / tone=off!"
notes: "V1.0 legacy only"
- id: bass_level
type: string
values: ["+01..+10", "-01..-10", "000"]
format: "bass=###$"
- id: treble_level
type: string
values: ["+01..+10", "-01..-10", "000"]
format: "treble=###$"
- id: balance_setting
type: string
values: ["L01-15", "R01-15", "000"]
format: "balance=###$"
- id: sample_rate
type: enum
values: [off, "32", "44.1", "48", "88.2", "96", "176.4", "192", "384"]
format: "freq=44.1$"
notes: "384 listed in V2.0 only; V1.0 list ends at 192"
- id: dimmer_level
type: integer
range: "0-6"
format: "dimmer=#$"
- id: pcusb_class
type: enum
values: ["1", "2"]
format: "pcusb_class=1$ / pcusb_class=2$"
- id: update_mode
type: enum
values: [auto, manual]
format: "update_mode=auto$ / update_mode=manual$"
notes: "V2.0; V1.0 legacy equivalent display_update=auto!/display_update=manual!"
- id: main_cpu_version
type: string
format: "version=#.##$"
notes: "V1.0 legacy equivalent product_version=##,text"
- id: pcusb_version
type: string
format: "pc_version=#.##$"
- id: ip_address
type: string
format: "ipaddress=###.###.###.###$"
- id: mac_address
type: string
format: "mac=############$"
notes: "Uppercase characters"
- id: model_name
type: string
format: "model=text$"
notes: "V1.0 legacy equivalent product_type=##,text"
- id: discover_info
type: string
format: "discover=ip=###.###.###.### port=#### mac=############$"
- id: display_text_legacy
type: string
format: "display=###,text"
notes: "V1.0 legacy; 3-digit byte count (text only, excludes length and ',') then ',' then text, no terminator"
- id: display_line1_legacy
type: string
format: "display1=##,text"
notes: "V1.0 legacy; 2-digit byte count + ',' + text, no terminator"
- id: display_line2_legacy
type: string
format: "display2=##,text"
notes: "V1.0 legacy; 2-digit byte count + ',' + text, no terminator"
- id: display_size_legacy
type: string
format: "display_size=##,##!"
notes: "V1.0 legacy; columns and rows"
- id: volume_max_legacy
type: integer
format: "volume_max=##!"
notes: "V1.0 legacy"
- id: volume_min_legacy
type: integer
format: "volume_min=0!"
notes: "V1.0 legacy"
- id: tone_max_legacy
type: integer
format: "tone_max=10!"
notes: "V1.0 legacy"
- id: power_mode_legacy
type: enum
values: [quick, normal]
format: "power_mode=quick! / power_mode=normal!"
notes: "V1.0 legacy"
Variables
# All settable parameters (volume, bass, treble, balance, dimmer, PC-USB class)
# are expressed as discrete or parameterized actions in the Actions section;
# no additional settable variables documented in source.
Events
- id: automatic_status_update
description: >-
Unsolicited status strings sent automatically on state change when update
mode is auto (rs232_update_on! / display_update_auto!). Basic status such
as volume, power, or source changes is always provided automatically;
display/metadata updates depend on auto vs manual display update mode.
format: "volume=##$ / power=on$ / source=cd$ / mute=on$ etc."
- id: display_update_legacy
description: >-
V1.0 legacy: in display_update_auto mode, each display change causes the
new display line(s) to be sent automatically (length-prefixed text format).
format: "display=###,text / display1=##,text / display2=##,text"
Macros
# No multi-step sequences documented in source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or
# power-on sequencing requirements. Note: factory_default_on! (V1.0 legacy)
# resets the unit to factory defaults; source attaches no warning to it.
Notes
- All commands must be terminated with the "!" character. Do not include spaces, carriage returns, or line feeds — only the terminating "!".
- Feedback strings terminate with "$" on firmware V1.40+ (protocol V2.0) and "!" on older firmware (protocol V1.0). Variable-length display text uses a decimal byte count (covering text data only, not the length digits or the "," separator) followed by "," and the text, with no terminating character. The control application must parse all three forms.
- RS-232 hardware does not support flow control; care must be taken when sending/receiving to avoid packet loss. Serial settings: 115200 baud, 8 data bits, no parity, 1 stop bit, no handshaking, string data type.
- IP control: commands accepted via TCP port 9590; responses return on the same port. Command/response format identical to serial.
- Protocol revision break: as of main CPU software V1.40, several commands and ALL feedback strings changed (see spec Sections 3, 4, Appendix A). Connected control systems must be updated to the new protocol before updating RC-1590 firmware. RS-232 settings and IP port are unchanged between V1.0 and V2.0.
- Rotel Link RCD: the input selected for ROTEL LINK RCD in the setup menu returns a
_cd-suffixed source string (e.g.source=coax1_cd$instead ofsource=coax1$). - PC-USB transport controls (play/pause/track) only function when the RC-1590 is set to USB 2.0 mode (
pcusb_class_2!). - Special character mapping (spec Section 5): some display characters are represented as 2–3 hex byte sequences in feedback (e.g. EE 82 85, EE 82 82 for play/arrow symbols, EE 80 80 EE 80 81 EE 80 82 for END). Parse display text accordingly.
- Volume scale is 1–96 (corrected in spec v1.11 from an earlier 1–86).
Provenance
source_domains:
- rotel.com
source_urls:
- "https://www.rotel.com/sites/default/files/product/rs232/RC1590%20Protocol.pdf"
- "https://www.rotel.com/sites/default/files/product/rs232/RC1580%20Protocol.pdf"
- https://www.rotel.com/manuals-resources/rs232-protocols
- "https://www.rotel.com/sites/default/files/product/rs232/RC1572%20Protocol.pdf"
retrieved_at: 2026-09-02T14:51:19.560Z
last_checked_at: 2026-09-18T22:18:38.927Z
Verification Summary
verdict: verified
checked_at: 2026-09-18T22:18:38.927Z
matched_actions: 136
action_count: 136
confidence: medium
summary: "All 136 spec action units (power/volume/source/tone/balance/dimmer/transport/menu/numeric/system V2.0 + V1.0 legacy and feedback queries) appear verbatim as ASCII tokens in the refined Rotel RC-1590 command list; transport (115200 8N1, TCP 9590) matches the Connection/IP Control Settings tables. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no IP addressing details (DHCP/static, network config commands) beyond TCP port stated in source"
- "source contains no safety warnings, interlock procedures, or"
- "no IP network configuration commands (DHCP/static assignment) documented in source"
- "command acknowledgement/error behavior for invalid commands not documented in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0