Summary
The Shure P4800 is a 4-input, 8-output matrix mixer / system processor controlled over a 7-wire RS-232 interface using SysEx-style messages wrapped in F0h..F7h. Device ID is set via DIP switches (0 to 15). This spec covers preset recall, per-input and per-output settings (mute, polarity, +4/-10 scaling, pad, volume), matrix mixpoint settings, and full state queries.
Transport
protocols:
- serial
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Cable note (from source): P4800 uses a 7-wire RS-232 port. Crestron/AMX controllers use 5-wire. A custom cable is required. The P4800 requires 5-12 V on the DTR line; a 1 kOhm resistor is needed for a 5 V supply. All other wires pass straight through.
Traits
# - routable inferred: matrix mixpoint activate/deactivate commands present
# - levelable inferred: per-input, per-output, and per-mixpoint volume control present
# - queryable inferred: query commands for every setting present
Actions
# SysEx frame format (set commands):
# F0h 00h 01h 00h <Device ID> 0Ah 69h <function> 00h <ID> <VA> F7h
#
# <Device ID>: 00h-0Fh, must match the DIP switch setting on the back of the P4800.
# After every set command, the P4800 echoes the command and then sends a return string.
# The 4th byte position (channel nibble) is 00h in all source examples.
#
# Volume-control formulas (from source):
# For input/output per-channel volume:
# <VA> = [2 * (Control Setting)] & 7Fh
# Control Setting range: -30 to +30 (1 unit = 1 dB).
# For mixpoint / mixer-output volume:
# <VA> = (Control Setting) & 7Fh
# Control Setting range: 0 to 127
# 0 = -Infinity
# 1-26 = -105 to -42.5 dB in 2.5 dB steps
# 27-127 = -40.0 to +10.0 dB in 0.5 dB steps
# For relative (+/-) dB changes:
# <VA> = [2 * (dB Change)] & 7Fh
# Example: decrease by 2 dB => <VA> = 7Ch.
# --- Preset recall (short-frame, not SysEx) ---
- id: change_preset
label: Change Preset
kind: action
command: "C{device_id}{preset}" # short frame: C <n> h <pp> h
params:
- name: device_id
type: integer
description: Device ID (0-15) set by DIP switches; sent as the second byte.
- name: preset
type: integer
description: Preset number minus 1. Range 0 to 127 (i.e. presets 1 to 128).
# --- Inputs: Mute ---
- id: input_toggle_mute
label: Input Toggle Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15 (DIP switch).
- name: input_id
type: integer
description: Input channel ID byte: 04h=Input 1, 05h=Input 2, 06h=Input 3, 07h=Input 4.
- id: input_force_mute
label: Input Force Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 04h=Input 1, 05h=Input 2, 06h=Input 3, 07h=Input 4.
- id: input_force_unmute
label: Input Force Unmute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 04h=Input 1, 05h=Input 2, 06h=Input 3, 07h=Input 4.
# --- Inputs: Polarity ---
- id: input_toggle_polarity
label: Input Toggle Polarity
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 08h=Input 1, 09h=Input 2, 0Ah=Input 3, 0Bh=Input 4.
- id: input_force_polarity_positive
label: Input Force Polarity (+)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 08h=Input 1, 09h=Input 2, 0Ah=Input 3, 0Bh=Input 4.
- id: input_force_polarity_negative
label: Input Force Polarity (-)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 08h=Input 1, 09h=Input 2, 0Ah=Input 3, 0Bh=Input 4.
# --- Inputs: +4/-10 scaling ---
- id: input_toggle_scaling
label: Input Toggle Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 0Ch=Input 1, 0Dh=Input 2, 0Eh=Input 3, 0Fh=Input 4.
- id: input_force_scaling_plus4
label: Input Force +4 dBu Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 0Ch=Input 1, 0Dh=Input 2, 0Eh=Input 3, 0Fh=Input 4.
- id: input_force_scaling_minus10
label: Input Force -10 dBV Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {input_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 0Ch=Input 1, 0Dh=Input 2, 0Eh=Input 3, 0Fh=Input 4.
# --- Inputs: Volume (set absolute) ---
- id: input_set_volume
label: Input Set Volume
kind: action
command: "F0 00 01 00 {device_id} 0A 69 00 00 {input_id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 00h=Input 1, 01h=Input 2, 02h=Input 3, 03h=Input 4.
- name: va
type: integer
description: "<VA> = [2 * ControlSetting] AND 7Fh. ControlSetting range -30 to +30 (1 step = 1 dB)."
# --- Inputs: Volume (relative +/-) ---
- id: input_change_volume
label: Input Change Volume (relative dB)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 04 00 {input_id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input channel ID byte: 00h=Input 1, 01h=Input 2, 02h=Input 3, 03h=Input 4.
- name: va
type: integer
description: "<VA> = [2 * dBChange] AND 7Fh. Example: -2 dB => <VA> = 7Ch."
# --- Outputs: Mute ---
- id: output_toggle_mute
label: Output Toggle Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output channel ID byte: 46h=Out 1, 47h=Out 2, 48h=Out 3, 49h=Out 4, 4Ah=Out 5, 4Bh=Out 6, 4Ch=Out 7, 4Dh=Out 8.
- id: output_force_mute
label: Output Force Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output channel ID byte: 46h=Out 1 .. 4Dh=Out 8.
- id: output_force_unmute
label: Output Force Unmute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output channel ID byte: 46h=Out 1 .. 4Dh=Out 8.
# --- Outputs: Polarity ---
- id: output_toggle_polarity
label: Output Toggle Polarity
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output polarity ID byte: 4Eh=Out 1, 4Fh=Out 2, 50h=Out 3, 51h=Out 4, 52h=Out 5, 53h=Out 6, 55h=Out 7, 55h=Out 8.
- id: output_force_polarity_positive
label: Output Force Polarity (+)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output polarity ID byte: 4Eh=Out 1, 4Fh=Out 2, 50h=Out 3, 51h=Out 4, 52h=Out 5, 53h=Out 6, 55h=Out 7, 55h=Out 8.
- id: output_force_polarity_negative
label: Output Force Polarity (-)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output polarity ID byte: 4Eh=Out 1, 4Fh=Out 2, 50h=Out 3, 51h=Out 4, 52h=Out 5, 53h=Out 6, 55h=Out 7, 55h=Out 8.
# --- Outputs: +4/-10 scaling ---
- id: output_toggle_scaling
label: Output Toggle Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output scaling ID byte: 56h=Out 1, 57h=Out 2, 58h=Out 3, 59h=Out 4, 5Ah=Out 5, 5Bh=Out 6, 5Ch=Out 7, 5Dh=Out 8.
- id: output_force_scaling_plus4
label: Output Force +4 dBu Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output scaling ID byte: 56h=Out 1 .. 5Dh=Out 8.
- id: output_force_scaling_minus10
label: Output Force -10 dBV Scaling
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output scaling ID byte: 56h=Out 1 .. 5Dh=Out 8.
# --- Outputs: 20 dB Pad ---
- id: output_toggle_pad
label: Output Toggle Pad (20 dB)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output pad ID byte: 5Eh=Out 1, 5Fh=Out 2, 60h=Out 3, 61h=Out 4, 62h=Out 5, 63h=Out 6, 64h=Out 7, 65h=Out 8.
- id: output_force_pad_off
label: Output Force Pad Off
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output pad ID byte: 5Eh=Out 1 .. 65h=Out 8.
- id: output_force_pad_on
label: Output Force Pad On
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 03 {output_id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output pad ID byte: 5Eh=Out 1 .. 65h=Out 8.
# --- Outputs: Volume (set absolute) ---
- id: output_set_volume
label: Output Set Volume
kind: action
command: "F0 00 01 00 {device_id} 0A 69 00 03 {output_id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output volume ID byte: 3Eh=Out 1, 3Fh=Out 2, 40h=Out 3, 41h=Out 4, 42h=Out 5, 43h=Out 6, 44h=Out 7, 45h=Out 8.
- name: va
type: integer
description: "<VA> = [2 * ControlSetting] AND 7Fh. ControlSetting range -30 to +30 (1 step = 1 dB)."
# --- Outputs: Volume (relative +/-) ---
- id: output_change_volume
label: Output Change Volume (relative dB)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 04 03 {output_id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output volume ID byte: 3Eh=Out 1 .. 45h=Out 8.
- name: va
type: integer
description: "<VA> = [2 * dBChange] AND 7Fh. Example: -2 dB => <VA> = 7Ch."
# --- Matrix Mixer: Mute Mixpoint ---
- id: mixpoint_toggle_mute
label: Mixpoint Toggle Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 00 {id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = NMIXPOINTS + 15 + (Mix Point #). NMIXPOINTS = 4 * NOUTPUTS (32 for 4x8)."
- id: mixpoint_force_mute
label: Mixpoint Force Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = NMIXPOINTS + 15 + (Mix Point #)."
- id: mixpoint_force_unmute
label: Mixpoint Force Unmute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = NMIXPOINTS + 15 + (Mix Point #)."
# --- Matrix Mixer: Mute Mixer Output ---
# Source explicitly flags Toggle Mute (Mixer Output) as BUG - DOES NOT WORK.
- id: mixer_output_toggle_mute
label: Mixer Output Toggle Mute (BUG: does not work)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) AND 7Fh."
- id: mixer_output_force_mute
label: Mixer Output Force Mute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) AND 7Fh."
- id: mixer_output_force_unmute
label: Mixer Output Force Unmute
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) AND 7Fh."
# --- Matrix Mixer: Polarity Mixpoint ---
- id: mixpoint_toggle_polarity
label: Mixpoint Toggle Polarity
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 00 {id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (2 * NMIXPOINTS) + 15 + (Mix Point #)."
- id: mixpoint_force_polarity_positive
label: Mixpoint Force Polarity (+)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {id} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (2 * NMIXPOINTS) + 15 + (Mix Point #)."
- id: mixpoint_force_polarity_negative
label: Mixpoint Force Polarity (-)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 00 {id} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (2 * NMIXPOINTS) + 15 + (Mix Point #)."
# --- Matrix Mixer: Polarity Mixer Output ---
# Source explicitly flags Toggle Polarity (Mixer Output) as BUG - DOES NOT WORK.
- id: mixer_output_toggle_polarity
label: Mixer Output Toggle Polarity (BUG: does not work)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) AND 7Fh."
- id: mixer_output_force_polarity_positive
label: Mixer Output Force Polarity (+)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) AND 7Fh."
- id: mixer_output_force_polarity_negative
label: Mixer Output Force Polarity (-)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) AND 7Fh."
# --- Matrix Mixer: Volume Mixpoint ---
- id: mixpoint_set_volume
label: Mixpoint Set Volume
kind: action
command: "F0 00 01 00 {device_id} 0A 69 00 00 {id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (Mix Point #) + 15."
- name: va
type: integer
description: "<VA> = ControlSetting AND 7Fh. Range 0-127: 0=-Inf, 1-26=-105 to -42.5 dB in 2.5 dB steps, 27-127=-40.0 to +10.0 dB in 0.5 dB steps."
- id: mixpoint_change_volume
label: Mixpoint Change Volume (relative dB)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 05 00 {id} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (Mix Point #) + 15."
- name: va
type: integer
description: "<VA> = [2 * dBChange] AND 7Fh."
# --- Matrix Mixer: Volume Mixer Output ---
# Source flags Increase/Decrease Volume (Mixer Output) as BUG - DOES NOT WORK.
- id: mixer_output_set_volume
label: Mixer Output Set Volume
kind: action
command: "F0 00 01 00 {device_id} 0A 69 00 {idmsb} {idlsb} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + 15 + (NOutput #)) AND 7Fh."
- name: va
type: integer
description: "<VA> = ControlSetting AND 7Fh. Range 0-127: 0=-Inf, 1-26=-105 to -42.5 dB in 2.5 dB steps, 27-127=-40.0 to +10.0 dB in 0.5 dB steps."
- id: mixer_output_change_volume
label: Mixer Output Change Volume (BUG: does not work)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 05 {idmsb} {idlsb} {va} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + 15 + (NOutput #)) AND 7Fh."
- name: va
type: integer
description: "<VA> = [2 * dBChange] AND 7Fh."
# --- Matrix Mixer: Activate Mixpoint (route input to output) ---
# Source explicitly flags Toggle Activation as BUG - DOES NOT WORK.
- id: mixpoint_toggle_activation
label: Mixpoint Toggle Activation (BUG: does not work)
kind: action
command: "F0 00 01 00 {device_id} 0A 69 06 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((3 * NMIXPOINTS) + 15 + (Mix Point #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((3 * NMIXPOINTS) + 15 + (Mix Point #)) AND 7Fh."
- id: mixpoint_force_activate
label: Mixpoint Force Activation
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 7F F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((3 * NMIXPOINTS) + 15 + (Mix Point #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((3 * NMIXPOINTS) + 15 + (Mix Point #)) AND 7Fh."
- id: mixpoint_force_deactivate
label: Mixpoint Force Deactivation
kind: action
command: "F0 00 01 00 {device_id} 0A 69 01 {idmsb} {idlsb} 00 F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((3 * NMIXPOINTS) + 15 + (Mix Point #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((3 * NMIXPOINTS) + 15 + (Mix Point #)) AND 7Fh."
# --- Queries ---
# Each query echoes the command then sends a return string.
# Return string device-ID byte is <Device ID + 10h>.
- id: query_input_mute
label: Query Input Mute
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {input_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input ID byte: 04h=In1, 05h=In2, 06h=In3, 07h=In4.
- id: query_input_polarity
label: Query Input Polarity
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {input_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input ID byte: 08h=In1, 09h=In2, 0Ah=In3, 0Bh=In4.
- id: query_input_scaling
label: Query Input Scaling
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {input_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input ID byte: 0Ch=In1, 0Dh=In2, 0Eh=In3, 0Fh=In4.
- id: query_input_volume
label: Query Input Volume
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {input_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: input_id
type: integer
description: Input volume ID byte: 00h=In1, 01h=In2, 02h=In3, 03h=In4.
- id: query_output_mute
label: Query Output Mute
kind: query
command: "F0 00 01 00 {device_id} 0A 70 03 {output_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output mute ID byte: 46h=Out1 .. 4Dh=Out8.
- id: query_output_polarity
label: Query Output Polarity
kind: query
command: "F0 00 01 00 {device_id} 0A 70 03 {output_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output polarity ID byte: 4Eh=Out1, 4Fh=Out2, 50h=Out3, 51h=Out4, 52h=Out5, 53h=Out6, 54h=Out7, 55h=Out8.
- id: query_output_scaling
label: Query Output Scaling
kind: query
command: "F0 00 01 00 {device_id} 0A 70 03 {output_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output scaling ID byte: 56h=Out1 .. 5Dh=Out8.
- id: query_output_pad
label: Query Output Pad
kind: query
command: "F0 00 01 00 {device_id} 0A 70 03 {output_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output pad ID byte: 5Eh=Out1 .. 65h=Out8.
- id: query_output_volume
label: Query Output Volume
kind: query
command: "F0 00 01 00 {device_id} 0A 70 03 {output_id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: output_id
type: integer
description: Output volume ID byte: 3Eh=Out1 .. 45h=Out8.
- id: query_mixpoint_mute
label: Query Mixpoint Mute
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = NMIXPOINTS + 15 + (Mix Point #)."
- id: query_mixer_output_mute
label: Query Mixer Output Mute
kind: query
command: "F0 00 01 00 {device_id} 0A 70 {idmsb} {idlsb} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + NOUTPUTS + 15 + (NOutput #)) AND 7Fh."
- id: query_mixpoint_polarity
label: Query Mixpoint Polarity
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (2 * NMIXPOINTS) + 15 + (Mix Point #)."
- id: query_mixer_output_polarity
label: Query Mixer Output Polarity
kind: query
command: "F0 00 01 00 {device_id} 0A 70 {idmsb} {idlsb} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + (2 * NOUTPUTS) + 15 + (NOutput #)) AND 7Fh."
- id: query_mixpoint_volume
label: Query Mixpoint Volume
kind: query
command: "F0 00 01 00 {device_id} 0A 70 00 {id} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: id
type: integer
description: "<ID> = (Mix Point #) + 15."
- id: query_mixer_output_volume
label: Query Mixer Output Volume
kind: query
command: "F0 00 01 00 {device_id} 0A 70 {idmsb} {idlsb} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((4 * NMIXPOINTS) + 15 + (NOutput #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((4 * NMIXPOINTS) + 15 + (NOutput #)) AND 7Fh."
- id: query_mixpoint_activation
label: Query Mixpoint Activation
kind: query
command: "F0 00 01 00 {device_id} 0A 70 {idmsb} {idlsb} F7"
params:
- name: device_id
type: integer
description: Device ID 0-15.
- name: idmsb
type: integer
description: "<IDMSB> = [((3 * NMIXPOINTS) + 15 + (Mix Point #)) >> 7] AND 7Fh."
- name: idlsb
type: integer
description: "<IDLSB> = ((3 * NMIXPOINTS) + 15 + (Mix Point #)) AND 7Fh."
Feedbacks
- id: input_mute_state
type: enum
values: [unmuted, muted]
description: "Return string: F0 00 01 00 <Device ID+10h> 0A 00 00 04h..07h <VA> 00 F7. <VA>=00h unmuted, 7Fh muted."
- id: input_polarity_state
type: enum
values: [positive, negative]
description: "Return string uses ID 08h..0Bh. <VA>=00h (+), 01h (-)."
- id: input_scaling_state
type: enum
values: ["+4 dBu", "-10 dBV"]
description: "Return string uses ID 0Ch..0Fh. <VA>=00h (+4 dBu), 01h (-10 dBV)."
- id: input_volume_state
type: integer
description: "Return string uses ID 00h..03h. <VA> range -60 to +60. Divide by 2 for dB."
- id: output_mute_state
type: enum
values: [unmuted, muted]
description: "Return string uses ID 46h..4Dh. <VA>=00h unmuted, 7Fh muted."
- id: output_polarity_state
type: enum
values: [positive, negative]
description: "Return string uses ID 4Eh..53h,54h,55h. <VA>=00h (+), 01h (-)."
- id: output_scaling_state
type: enum
values: ["+4 dBu", "-10 dBV"]
description: "Return string uses ID 56h..5Dh. <VA>=00h (+4 dBu), 01h (-10 dBV)."
- id: output_pad_state
type: enum
values: [disengaged, engaged]
description: "Return string uses ID 5Eh..65h. <VA>=00h off, 01h on."
- id: output_volume_state
type: integer
description: "Return string uses ID 3Eh..45h. <VA> range -60 to +60. Divide by 2 for dB."
- id: mixpoint_mute_state
type: enum
values: [unmuted, muted]
description: "Return string uses <ID>=NMIXPOINTS+15+MixPoint#. <VA>=00h unmuted, 7Fh muted."
- id: mixer_output_mute_state
type: enum
values: [unmuted, muted]
description: "Return string uses IDMSB/IDLSB. <VA>=00h unmuted, 7Fh muted."
- id: mixpoint_polarity_state
type: enum
values: [positive, negative]
description: "Return string uses <ID>=(2*NMIXPOINTS)+15+MixPoint#. <VA>=00h (+), 01h (-)."
- id: mixer_output_polarity_state
type: enum
values: [positive, negative]
description: "Return string uses IDMSB/IDLSB. <VA>=00h (+), 01h (-)."
- id: mixpoint_volume_state
type: integer
description: "Return string uses <ID>=MixPoint#+15. <VA>=0..127: 0=-Inf, 1-26=-105 to -42.5 dB in 2.5 dB steps, 27-127=-40.0 to +10.0 dB in 0.5 dB steps."
- id: mixer_output_volume_state
type: integer
description: "Return string uses IDMSB/IDLSB. <VA>=0..127 same table as mixpoint."
- id: mixpoint_activation_state
type: enum
values: [deactivated, activated]
description: "Return string uses IDMSB/IDLSB. <VA>=00h not activated, 01h activated."
Variables
- id: input_volume
type: integer
range: [-30, 30]
unit: dB
description: "Per-input channel volume. Control Setting; <VA> = [2 * value] AND 7Fh."
- id: output_volume
type: integer
range: [-30, 30]
unit: dB
description: "Per-output channel volume. Same formula as input."
- id: mixpoint_volume
type: integer
range: [0, 127]
unit: gain_table
description: "Mixpoint gain. <VA> = value AND 7Fh. 0=-Inf, 1-26=-105..-42.5 dB @ 2.5 dB, 27-127=-40..+10 dB @ 0.5 dB."
- id: mixer_output_volume
type: integer
range: [0, 127]
unit: gain_table
description: "Mixer output gain. Same table as mixpoint."
- id: preset
type: integer
range: [1, 128]
description: "Preset number. Sent as preset-1 (0..127) in the recall frame."
- id: device_id
type: integer
range: [0, 15]
description: "Set via DIP switches on the rear of the P4800. Sent as a single hex nibble."
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or power-on sequencing requirements.
Notes
- Source flags four commands as BUG — DOES NOT WORK: Mixer Output Toggle Mute, Mixer Output Toggle Polarity, Mixpoint Toggle Activation, Mixer Output Change Volume. These are still emitted above for completeness because the source lists them as documented rows.
- The source lists Output 7 and Output 8 polarity with the same ID byte 55h in the polarity section (4Eh, 4Fh, 50h, 51h, 52h, 53h, 55h, 55h). The query section uses 54h for Output 7. The set commands are transcribed verbatim from the source; the discrepancy is in the source, not introduced here.
- NOUTPUTS equals 8 when no crossover/splitter is in the preset; each crossover/splitter channel reduces it. NMIXPOINTS = 4 * NOUTPUTS.
- The P4800 requires 5-12 V on DTR; a 1 kOhm resistor to a 5 V supply is documented.
- Preset recall uses a short 2-byte frame (C h h), not a full SysEx frame; all other commands use the F0h..F7h SysEx frame.
- After every set or query, the P4800 echoes the command and then sends a return string; the return-string device-ID byte is <Device ID + 10h>.
Provenance
source_domains:
- content-files.shure.com
source_urls:
- https://content-files.shure.com/KnowledgeBaseFiles/p4800_rs232_commands.pdf
retrieved_at: 2026-04-30T04:29:02.308Z
last_checked_at: 2026-06-02T22:14:35.512Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:14:35.512Z
matched_actions: 61
action_count: 61
confidence: medium
summary: "All 61 spec actions traced to source (dip-safe re-verify). (3 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no firmware version or protocol revision stated in source"
- "source contains no safety warnings, interlock procedures, or power-on sequencing requirements."
- "firmware version compatibility not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0