Summary

The Meyer Sound GALAXY Network Platform is a loudspeaker management processor exposing a Control Plane server that lets multiple clients (Compass software, Compass Go, Spacemap Go, or third-party controllers) exchange control and status messages over the network. The server speaks two protocols: a line-oriented ASCII command set on TCP and Open Sound Control (OSC) over either TCP or UDP. Addressable control points cover snapshot recall/management, per-input and per-output processing (mute, gain, delay, EQ, highpass/lowpass, polarity, ushaping, atmospheric), matrix cross-points, device I/O configuration, project settings, and entity identification. This spec covers the ASCII and OSC interfaces; it does not cover Compass application behavior.

Transport

# The GALAXY server supports three transport bindings simultaneously:
#   - ASCII over TCP/IP (port 25003 for physical GALAXY 1; +100 per additional physical)
#   - OSC   over TCP/IP (port 25004 for physical GALAXY 1; +100 per additional physical)
#   - OSC   over UDP     (same port 25004; UDP has a 30-second keepalive requirement)
#
# Virtual GALAXY: ASCII port 50503 (OSC 50504) for virtual #1, decrement by 100 per
# additional virtual in Normal mode; in Spacemap mode use 25003 (OSC 25004) and
# increment by 100 per additional virtual.
#
# IPv4, IPv6, and mDNS addresses are all accepted (e.g. `telnet 192.168.71.146 25003`
# or `telnet MyGalaxy.MyGroup.local 25003` or
# `telnet mslg-gx-816-16342723.local 25003`).
protocols:
  - tcp
  - udp
  - osc
addressing:
  port: 25003        # ASCII TCP server (default physical GALAXY 1)
  osc_port: 25004    # OSC TCP/UDP server (default physical GALAXY 1)
  ascii_port_virtual_normal: 50503   # ASCII port for first virtual GALAXY (Normal mode)
  osc_port_virtual_normal: 50504     # OSC port for first virtual GALAXY (Normal mode)
  ascii_port_virtual_spacemap: 25003 # ASCII port for first virtual GALAXY (Spacemap mode)
  osc_port_virtual_spacemap: 25004   # OSC port for first virtual GALAXY (Spacemap mode)
auth:
  type: none  # inferred: no auth procedure in source
notes:
  - "All ASCII text messages must terminate with CR (0x0d) or LF (0x0a)."
  - "OSC over TCP uses 4-byte big-endian length prefix; OSC over UDP is unprefixed."
  - "UDP subscription lifetime: 30 seconds since last packet; resend empty /ping to keep alive."
  - "Telnet is not available on current macOS - use `nc` instead."

Traits

# Inferred from documented control points and command examples:
- queryable       # get / get-description / status commands present
- routable        # matrix cross-point gain, device input/output select present
- levelable       # per-input / per-output gain, EQ, highpass/lowpass, atmospheric, ushaping gain
- snapshotable    # recall_snapshot / update_snapshot / create_snapshot / delete_snapshot

Actions

# --- Built-in server commands (named in source as discrete rows) ---

- id: recall_snapshot
  label: Recall Snapshot
  kind: action
  command: ":recall_snapshot {id}"
  params:
    - name: id
      type: integer
      description: Snapshot ID to recall (0-255 per source)
    - name: exclusion_code
      type: integer
      description: "Optional exclusion bitmask (1=exclusion enabled, +2 channel types, +4 voltage ranges, +8 mute, +16 update active before recall, +32 SIM3 bus, +64 SIM3 probe, +128 clock sync, +256 AVB)"
  ascii_hex_example: "3a 72 65 63 61 6c 6c 5f 73 6e 61 70 73 68 6f 74 20 33 20 39 20 0a"
  osc_example: "/recall_snapshot,i 3 9"

- id: update_snapshot
  label: Update Snapshot
  kind: action
  command: ":update_snapshot {id}"
  params:
    - name: id
      type: integer
      description: Snapshot ID to overwrite with current settings (0-255 per source)
  ascii_hex_example: "3a 75 70 64 61 74 65 5f 73 6e 61 70 73 68 6f 74 20 36 0a"
  osc_example: "/update_snapshot,i 6"

- id: create_snapshot
  label: Create Snapshot
  kind: action
  command: ":create_snapshot {name} {comment}"
  params:
    - name: name
      type: string
      description: Name for the new snapshot
    - name: comment
      type: string
      description: Optional comment for the new snapshot
  ascii_hex_example: "3a 63 72 65 61 74 65 5f 73 6e 61 70 73 68 6f 74 20 53 61 6d 70 6c 65 20 48 65 6c 6c 6f 0a"
  osc_example: "/create_snapshot,ss Sample Hello"

- id: delete_snapshot
  label: Delete Snapshot
  kind: action
  command: ":delete_snapshot {id}"
  params:
    - name: id
      type: integer
      description: Snapshot ID to delete (0-255 per source)
  ascii_hex_example: "3a 64 65 6c 65 74 65 5f 73 6e 61 70 73 68 6f 74 20 36 0a"
  osc_example: "/delete_snapshot,h 6"

- id: ping
  label: Ping (keepalive)
  kind: action
  command: ":ping {keyword}"
  params:
    - name: keyword
      type: string
      description: Free-form string echoed back in the pong response, used to correlate ping/pong
  ascii_hex_example: "3a 70 69 6e 67 20 48 65 6c 6c 6f 20 57 6f 72 6c 64 0a"
  osc_example: "/ping,s Hello World"

- id: help
  label: Built-in Help (?)
  kind: action
  command: ":?"
  params: []
  ascii_hex_example: "3a 3f 0a"
  notes: "ASCII only - OSC equivalent is N/A per source."

# --- Control point functions (the 5 ASCII control characters / OSC forms) ---

- id: cp_set_value
  label: Set Control Point Value
  kind: action
  command: "{path}={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 3d 74 72 75 65 0a"
  osc_example: "/{path},T|F|i|f|s {value}"
  params:
    - name: path
      type: string
      description: Full control-point path (e.g. /processing/input/1/mute)
    - name: value
      type: string
      description: OSC type cast allowed: positive non-zero integer = True; 0 = False; floats and strings per control-point type
  notes: "ASCII control character `=` is appended to the path; OSC message carries the value as a typed argument."

- id: cp_get_value
  label: Get Control Point Value
  kind: query
  command: "{path}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 0a"
  osc_example: "/{path},"
  params:
    - name: path
      type: string
      description: Full control-point path
  notes: "ASCII uses bare path (no control character); OSC uses an empty type tag."

- id: cp_get_description
  label: Get Control Point Description
  kind: query
  command: "?{path}"
  ascii_hex_example: "3f 2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 0a"
  params:
    - name: path
      type: string
      description: Full control-point path
  notes: "Returns JSON-like description with fields description, read_only, name, value, minimum, maximum, default, step, units. ASCII only - OSC N/A per source."

- id: cp_subscribe
  label: Subscribe to Control Point
  kind: action
  command: "+{path} {interval_ms}"
  ascii_hex_example: "2b 2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 20 31 30 30 0a"
  osc_example: "/subscribe/{path},i 100"
  params:
    - name: path
      type: string
      description: Full control-point path (regular expression supported)
    - name: interval_ms
      type: integer
      description: Update interval in milliseconds (0-100; default 30)
  notes: "Server pushes current value then resends on each change at the requested rate."

- id: cp_unsubscribe
  label: Unsubscribe from Control Point
  kind: action
  command: "-{path}"
  ascii_hex_example: "2d 2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 0a"
  osc_example: "/unsubscribe/{path},"
  params:
    - name: path
      type: string
      description: Full control-point path

# --- Input processing (1-8) - concrete parameterised commands ---

- id: set_input_mute
  label: Set Input Mute
  kind: action
  command: "/processing/input/{channel}/mute={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 6d 75 74 65 3d 74 72 75 65 0a"
  osc_example: "/processing/input/{channel}/mute,T"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_input_gain
  label: Set Input Gain
  kind: action
  command: "/processing/input/{channel}/gain={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 69 6e 70 75 74 2f 31 2f 67 61 69 6e 3d 2d 39 30 0a"
  osc_example: "/processing/input/{channel}/gain,f {value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: float
      description: Gain in dB (range: -90 to 0 per source example)

- id: set_input_delay
  label: Set Input Delay
  kind: action
  command: "/processing/input/{channel}/delay={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: float
      description: Delay value (units not specified in source)

- id: set_input_delay_type
  label: Set Input Delay Type
  kind: action
  command: "/processing/input/{channel}/delay_type={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: integer
      description: Delay type enum (default '0'; other values not enumerated in source)

- id: set_input_eq_band_bypass
  label: Set Input EQ Band Bypass
  kind: action
  command: "/processing/input/{channel}/eq/{band}/band_bypass={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: EQ band 1-5
    - name: value
      type: enum
      values: [true, false]

- id: set_input_eq_bandwidth
  label: Set Input EQ Bandwidth
  kind: action
  command: "/processing/input/{channel}/eq/{band}/bandwidth={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: EQ band 1-5
    - name: value
      type: float
      description: Bandwidth value (default '1' in source)

- id: set_input_eq_frequency
  label: Set Input EQ Frequency
  kind: action
  command: "/processing/input/{channel}/eq/{band}/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: EQ band 1-5
    - name: value
      type: float
      description: Frequency in Hz (default per source: 32, 125, 500, 2000, 8000)

- id: set_input_eq_gain
  label: Set Input EQ Gain
  kind: action
  command: "/processing/input/{channel}/eq/{band}/gain={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: EQ band 1-5
    - name: value
      type: float
      description: Gain in dB (default '0' in source)

- id: set_input_eq_bypass
  label: Set Input EQ Bypass
  kind: action
  command: "/processing/input/{channel}/eq/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_input_equalization_bypass
  label: Set Input Equalization Bypass
  kind: action
  command: "/processing/input/{channel}/equalization_bypass={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_input_ushaping_frequency
  label: Set Input U-Shaping Frequency
  kind: action
  command: "/processing/input/{channel}/ushaping/{band}/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Frequency in Hz (default per source: 62, 250, 1000, 4000, -)

- id: set_input_ushaping_gain
  label: Set Input U-Shaping Gain
  kind: action
  command: "/processing/input/{channel}/ushaping/{band}/gain={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Gain in dB (default '0' in source)

- id: set_input_ushaping_slope
  label: Set Input U-Shaping Slope
  kind: action
  command: "/processing/input/{channel}/ushaping/{band}/slope={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Slope (default '2' in source)

- id: set_input_ushaping_bypass
  label: Set Input U-Shaping Bypass
  kind: action
  command: "/processing/input/{channel}/ushaping/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Input number 1-8
    - name: value
      type: enum
      values: [true, false]

# --- Output processing (1-16) - concrete parameterised commands ---

- id: set_output_mute
  label: Set Output Mute
  kind: action
  command: "/processing/output/{channel}/mute={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 6f 75 74 70 75 74 2f 31 2f 6d 75 74 65 3d 74 72 75 65 0a"
  osc_example: "/processing/output/{channel}/mute,T"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_gain
  label: Set Output Gain
  kind: action
  command: "/processing/output/{channel}/gain={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 6f 75 74 70 75 74 2f 31 2f 67 61 69 6e 3d 2d 39 30 0a"
  osc_example: "/processing/output/{channel}/gain,f {value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Gain in dB (range -90 to 0 per source example)

- id: set_output_delay
  label: Set Output Delay
  kind: action
  command: "/processing/output/{channel}/delay={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Delay value (units not specified in source)

- id: set_output_delay_type
  label: Set Output Delay Type
  kind: action
  command: "/processing/output/{channel}/delay_type={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: integer
      description: Delay type enum (default '0' in source)

- id: set_output_eq_band_bypass
  label: Set Output EQ Band Bypass
  kind: action
  command: "/processing/output/{channel}/eq/{band}/band_bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: EQ band 1-10
    - name: value
      type: enum
      values: [true, false]

- id: set_output_eq_bandwidth
  label: Set Output EQ Bandwidth
  kind: action
  command: "/processing/output/{channel}/eq/{band}/bandwidth={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: EQ band 1-10
    - name: value
      type: float
      description: Bandwidth value (default '1' in source)

- id: set_output_eq_frequency
  label: Set Output EQ Frequency
  kind: action
  command: "/processing/output/{channel}/eq/{band}/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: EQ band 1-10
    - name: value
      type: float
      description: Frequency in Hz (default per source: 32, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000)

- id: set_output_eq_gain
  label: Set Output EQ Gain
  kind: action
  command: "/processing/output/{channel}/eq/{band}/gain={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: EQ band 1-10
    - name: value
      type: float
      description: Gain in dB (default '0' in source)

- id: set_output_eq_bypass
  label: Set Output EQ Bypass
  kind: action
  command: "/processing/output/{channel}/eq/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_equalization_bypass
  label: Set Output Equalization Bypass
  kind: action
  command: "/processing/output/{channel}/equalization_bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_polarity_reversal
  label: Set Output Polarity Reversal
  kind: action
  command: "/processing/output/{channel}/polarity_reversal={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_highpass_bypass
  label: Set Output Highpass Bypass
  kind: action
  command: "/processing/output/{channel}/highpass/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_highpass_frequency
  label: Set Output Highpass Frequency
  kind: action
  command: "/processing/output/{channel}/highpass/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Frequency in Hz (default '40' in source)

- id: set_output_highpass_type
  label: Set Output Highpass Type
  kind: action
  command: "/processing/output/{channel}/highpass/type={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: integer
      description: Highpass type enum (default '11' in source; meaning not stated)

- id: set_output_lowpass_bypass
  label: Set Output Lowpass Bypass
  kind: action
  command: "/processing/output/{channel}/lowpass/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_lowpass_frequency
  label: Set Output Lowpass Frequency
  kind: action
  command: "/processing/output/{channel}/lowpass/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Frequency in Hz (default '160' in source)

- id: set_output_lowpass_type
  label: Set Output Lowpass Type
  kind: action
  command: "/processing/output/{channel}/lowpass/type={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: integer
      description: Lowpass type enum (default '11' in source; meaning not stated)

- id: set_output_atmospheric_bypass
  label: Set Output Atmospheric Bypass
  kind: action
  command: "/processing/output/{channel}/atmospheric/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_output_atmospheric_distance
  label: Set Output Atmospheric Distance
  kind: action
  command: "/processing/output/{channel}/atmospheric/distance={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Distance (units not specified; default '0' in source)

- id: set_output_atmospheric_gain
  label: Set Output Atmospheric Gain
  kind: action
  command: "/processing/output/{channel}/atmospheric/gain={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: float
      description: Gain in dB (default '10' in source)

- id: set_output_ushaping_frequency
  label: Set Output U-Shaping Frequency
  kind: action
  command: "/processing/output/{channel}/ushaping/{band}/frequency={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Frequency in Hz

- id: set_output_ushaping_gain
  label: Set Output U-Shaping Gain
  kind: action
  command: "/processing/output/{channel}/ushaping/{band}/gain={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Gain in dB (default '0' in source)

- id: set_output_ushaping_slope
  label: Set Output U-Shaping Slope
  kind: action
  command: "/processing/output/{channel}/ushaping/{band}/slope={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: band
      type: integer
      description: U-shaping band 1-5
    - name: value
      type: float
      description: Slope (default '2' in source)

- id: set_output_ushaping_bypass
  label: Set Output U-Shaping Bypass
  kind: action
  command: "/processing/output/{channel}/ushaping/bypass={value}"
  params:
    - name: channel
      type: integer
      description: Output number 1-16
    - name: value
      type: enum
      values: [true, false]

# --- Matrix cross-points (inputs 1-32 × outputs 1-16) ---

- id: set_matrix_gain
  label: Set Matrix Cross-Point Gain
  kind: action
  command: "/processing/matrix/{input}/{output}/gain={value}"
  params:
    - name: input
      type: integer
      description: Matrix input 1-32
    - name: output
      type: integer
      description: Matrix cross-point (output) 1-16
    - name: value
      type: float
      description: Gain in dB (default '0' for input 1 cross-points 1-8 and input 2 cross-points 9-16; default '-90' for all other cross-points)
  notes: "Maximum 232 matrix cross-points may be set in a single command."

- id: set_matrix_delay
  label: Set Matrix Cross-Point Delay
  kind: action
  command: "/processing/matrix/{input}/{output}/delay={value}"
  params:
    - name: input
      type: integer
      description: Matrix input 1-32
    - name: output
      type: integer
      description: Matrix cross-point 1-16
    - name: value
      type: float
      description: Delay value (default '0' in source)

- id: set_matrix_delay_bypass
  label: Set Matrix Cross-Point Delay Bypass
  kind: action
  command: "/processing/matrix/{input}/{output}/delay_bypass={value}"
  params:
    - name: input
      type: integer
      description: Matrix input 1-32
    - name: output
      type: integer
      description: Matrix cross-point 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_matrix_delay_type
  label: Set Matrix Cross-Point Delay Type
  kind: action
  command: "/processing/matrix/{input}/{output}/delay_type={value}"
  params:
    - name: input
      type: integer
      description: Matrix input 1-32
    - name: output
      type: integer
      description: Matrix cross-point 1-16
    - name: value
      type: integer
      description: Delay type enum (default '0' in source)

- id: set_matrix_name
  label: Set Matrix Name
  kind: action
  command: "/processing/matrix/Matrix={value}"
  params:
    - name: value
      type: string
      description: Matrix display name

# --- System control points ---

- id: set_front_panel_lockout
  label: Set Front Panel Lockout
  kind: action
  command: "/system/hardware/front_panel_lockout={value}"
  params:
    - name: value
      type: enum
      values: [true, false]

- id: set_meter_demo_active
  label: Set Meter Demo Active
  kind: action
  command: "/system/meter/demo/active={value}"
  params:
    - name: value
      type: enum
      values: [true, false]

- id: set_mode_running
  label: Set Mode Running
  kind: action
  command: "/system/mode/running={value}"
  params:
    - name: value
      type: enum
      values: [true, false]

- id: set_network1_static_ip
  label: Set Network 1 Static IP
  kind: action
  command: "/system/network/1/static/ip_address={value}"
  params:
    - name: value
      type: string
      description: IPv4 address (default '192.168.0.2' in source)

- id: set_network1_static_gateway
  label: Set Network 1 Static Gateway
  kind: action
  command: "/system/network/1/static/gateway={value}"
  params:
    - name: value
      type: string
      description: IPv4 address (default '192.168.0.1' in source)

- id: set_network1_static_netmask
  label: Set Network 1 Static Net Mask
  kind: action
  command: "/system/network/1/static/net_mask={value}"
  params:
    - name: value
      type: string
      description: Net mask (default '255.255.255.0' in source)

- id: set_network1_type
  label: Set Network 1 Type
  kind: action
  command: "/system/network/1/type={value}"
  params:
    - name: value
      type: integer
      description: Network addressing type enum (default '0' in source; meaning not stated)

- id: set_network2_static_ip
  label: Set Network 2 Static IP
  kind: action
  command: "/system/network/2/static/ip_address={value}"
  params:
    - name: value
      type: string
      description: IPv4 address (default '192.168.0.3' in source)

- id: set_network2_static_gateway
  label: Set Network 2 Static Gateway
  kind: action
  command: "/system/network/2/static/gateway={value}"
  params:
    - name: value
      type: string
      description: IPv4 address (default '192.168.0.1' in source)

- id: set_network2_static_netmask
  label: Set Network 2 Static Net Mask
  kind: action
  command: "/system/network/2/static/net_mask={value}"
  params:
    - name: value
      type: string
      description: Net mask (default '255.255.255.0' in source)

- id: set_network2_type
  label: Set Network 2 Type
  kind: action
  command: "/system/network/2/type={value}"
  params:
    - name: value
      type: integer
      description: Network addressing type enum (default '0' in source; meaning not stated)

# --- Device preferences / SIM / input / output / link groups / AVB ---

- id: set_brightness
  label: Set Display Brightness
  kind: action
  command: "/device/preferences/brightness={value}"
  params:
    - name: value
      type: integer
      description: Brightness (default '1' in source; range not stated)

- id: set_display_color
  label: Set Display Color
  kind: action
  command: "/device/preferences/display_color={value}"
  params:
    - name: value
      type: integer
      description: Display color enum (default '3' in source; meaning not stated)

- id: set_sim_bus_address
  label: Set SIM Bus Address
  kind: action
  command: "/device/sim/bus_address={value}"
  params:
    - name: value
      type: integer
      description: SIM bus address (default '10' in source)

- id: set_sim_configured
  label: Set SIM Configured
  kind: action
  command: "/device/sim/configured={value}"
  params:
    - name: value
      type: enum
      values: [true, false]

- id: set_sim_mute_relay
  label: Set SIM Mute Relay
  kind: action
  command: "/device/sim/mute_relay/{relay}={value}"
  params:
    - name: relay
      type: integer
      description: Mute relay 1-4
    - name: value
      type: enum
      values: [true, false]

- id: set_sim_probe_channel
  label: Set SIM Probe Channel
  kind: action
  command: "/device/sim/probe/{probe}/channel={value}"
  params:
    - name: probe
      type: integer
      description: Probe 1-2
    - name: value
      type: integer
      description: SIM probe channel

- id: set_sim_probe_point
  label: Set SIM Probe Point
  kind: action
  command: "/device/sim/probe/{probe}/point={value}"
  params:
    - name: probe
      type: integer
      description: Probe 1-2
    - name: value
      type: integer
      description: SIM probe point

- id: set_device_input_aes_asrc
  label: Set Device Input AES ASRC
  kind: action
  command: "/device/input/{input}/aes/enable_asrc={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_device_input_link_group
  label: Set Device Input Link Group
  kind: action
  command: "/device/input/{input}/input_link_group={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8 or 9-32 (matrix inputs)
    - name: value
      type: integer
      description: Link group ID (default '0' in source)

- id: set_device_input_isolate
  label: Set Device Input Isolate
  kind: action
  command: "/device/input/{input}/isolate={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_device_input_mode
  label: Set Device Input Mode
  kind: action
  command: "/device/input/{input}/mode={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8 (mode default '1') or 9-32 (mode default '4')
    - name: value
      type: integer
      description: Input mode enum

- id: set_device_input_name
  label: Set Device Input Name
  kind: action
  command: "/device/input/{input}/name={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8 (default A-H) or 9-32
    - name: value
      type: string
      description: Display name

- id: set_device_input_scale
  label: Set Device Input Scale
  kind: action
  command: "/device/input/{input}/scale={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8
    - name: value
      type: integer
      description: Input scale (default '26' in source)

- id: set_device_input_select
  label: Set Device Input Select
  kind: action
  command: "/device/input/{input}/select={value}"
  params:
    - name: input
      type: integer
      description: Input 1-8 or 9-32
    - name: value
      type: enum
      values: [true, false]

- id: set_input_link_group_bypass
  label: Set Input Link Group Bypass
  kind: action
  command: "/device/input_link_group/{group}/bypass={value}"
  params:
    - name: group
      type: integer
      description: Link group 1-4
    - name: value
      type: enum
      values: [true, false]

- id: set_input_link_group_name
  label: Set Input Link Group Name
  kind: action
  command: "/device/input_link_group/{group}/name={value}"
  params:
    - name: group
      type: integer
      description: Link group 1-4
    - name: value
      type: string
      description: Link group name

- id: set_avb_controller_mode
  label: Set AVB Controller Mode
  kind: action
  command: "/device/input/avb/controller_mode={value}"
  params:
    - name: value
      type: integer
      description: AVB controller mode enum (default '0' in source)

- id: set_device_output_isolate
  label: Set Device Output Isolate
  kind: action
  command: "/device/output/{output}/isolate={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_device_output_mute_relay
  label: Set Device Output Mute Relay
  kind: action
  command: "/device/output/{output}/mute_relay={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_device_output_name
  label: Set Device Output Name
  kind: action
  command: "/device/output/{output}/name={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: string
      description: Display name

- id: set_device_output_link_group
  label: Set Device Output Link Group
  kind: action
  command: "/device/output/{output}/output_link_group={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: integer
      description: Output link group ID (default '0' in source)

- id: set_device_output_scale
  label: Set Device Output Scale
  kind: action
  command: "/device/output/{output}/scale={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: integer
      description: Output scale (default '26' in source)

- id: set_device_output_select
  label: Set Device Output Select
  kind: action
  command: "/device/output/{output}/select={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: enum
      values: [true, false]

- id: set_device_output_sim_trim
  label: Set Device Output SIM Trim
  kind: action
  command: "/device/output/{output}/sim/trim={value}"
  params:
    - name: output
      type: integer
      description: Output 1-16
    - name: value
      type: float
      description: SIM trim (default '0' in source)

- id: set_output_link_group_bypass
  label: Set Output Link Group Bypass
  kind: action
  command: "/device/output_link_group/{group}/bypass={value}"
  params:
    - name: group
      type: integer
      description: Output link group 1-8
    - name: value
      type: enum
      values: [true, false]

- id: set_output_link_group_name
  label: Set Output Link Group Name
  kind: action
  command: "/device/output_link_group/{group}/name={value}"
  params:
    - name: group
      type: integer
      description: Output link group 1-8
    - name: value
      type: string
      description: Link group name

- id: set_avb_presentation_time
  label: Set AVB Output Presentation Time
  kind: action
  command: "/device/output/avb/presentation_time={value}"
  params:
    - name: value
      type: integer
      description: Presentation time in nanoseconds (default '2000000' in source)

- id: set_output_atmospheric_altitude
  label: Set Output Atmospheric Altitude
  kind: action
  command: "/device/output/atmospheric/altitude={value}"
  params:
    - name: value
      type: float
      description: Altitude (units not stated; default '0' in source)

- id: set_output_atmospheric_humidity
  label: Set Output Atmospheric Humidity
  kind: action
  command: "/device/output/atmospheric/humidity={value}"
  params:
    - name: value
      type: float
      description: Humidity in % (default '50' in source)

- id: set_output_atmospheric_temperature
  label: Set Output Atmospheric Temperature
  kind: action
  command: "/device/output/atmospheric/temperature={value}"
  params:
    - name: value
      type: float
      description: Temperature in Kelvin (default '293.15' in source)

# --- Project / snapshot metadata ---

- id: set_project_name
  label: Set Project Name
  kind: action
  command: "/project/name={value}"
  params:
    - name: value
      type: string
      description: Project name (default 'Default' in source)

- id: set_boot_snapshot_id
  label: Set Boot Snapshot ID
  kind: action
  command: "/project/boot_snapshot_id={value}"
  params:
    - name: value
      type: integer
      description: Snapshot ID recalled at boot (default '3' in source)

- id: set_snapshot_name
  label: Set Snapshot Name
  kind: action
  command: "/project/snapshot/{id}/name={value}"
  params:
    - name: id
      type: integer
      description: Snapshot ID 0-255
    - name: value
      type: string
      description: Snapshot name

- id: set_snapshot_comment
  label: Set Snapshot Comment
  kind: action
  command: "/project/snapshot/{id}/comment={value}"
  params:
    - name: id
      type: integer
      description: Snapshot ID 0-255
    - name: value
      type: string
      description: Snapshot comment

- id: set_snapshot_locked
  label: Set Snapshot Locked
  kind: action
  command: "/project/snapshot/{id}/locked={value}"
  params:
    - name: id
      type: integer
      description: Snapshot ID 0-255
    - name: value
      type: enum
      values: [true, false]

# --- Regular-expression form (applies to all cp_set_value) ---

- id: set_mute_by_regex
  label: Set Mute by Regular Expression
  kind: action
  command: "/processing/{kind}/{regex}/mute={value}"
  ascii_hex_example: "2f 70 72 6f 63 65 73 73 69 6e 67 2f 6f 75 74 70 75 74 2f 28 5b 31 2d 39 5d 7c 31 5b 30 2d 36 5d 29 2f 6d 75 74 65 3d 31 0a"
  osc_example: "/processing/{kind}/{regex}/mute,T"
  params:
    - name: kind
      type: enum
      values: [input, output, "(in|out)put"]
    - name: regex
      type: string
      description: "POSIX-style regex (any char `.`, `*` wildcard, `\\d` digit, `\\d+` greedy digit) e.g. `\\d+`, `([1-9]|1[0-6])`"
    - name: value
      type: enum
      values: [true, false]
  notes: "Source documents 1/0 and T/F as accepted booleans on the wire."

# --- Status read paths (read-only; writing returns an error per source) ---

- id: get_firmware_status_string
  label: Get Firmware Status String
  kind: query
  command: "/system/firmware/status_string"
  params: []

- id: get_firmware_code
  label: Get Firmware Code
  kind: query
  command: "/system/firmware/code"
  params: []

- id: get_firmware_status
  label: Get Firmware Status
  kind: query
  command: "/system/firmware/status"
  params: []

- id: get_beam_control_input_source
  label: Get Beam Control Input Source
  kind: query
  command: "/status/beam_control_input_source"
  params: []

- id: get_clock_aes_output_input_number
  label: Get AES Output Clock Input Number
  kind: query
  command: "/status/clock/aes_output/input_number"
  params: []

- id: get_clock_aes_output_sample_rate
  label: Get AES Output Clock Sample Rate
  kind: query
  command: "/status/clock/aes_output/sample_rate"
  params: []

- id: get_clock_aes_output_source
  label: Get AES Output Clock Source
  kind: query
  command: "/status/clock/aes_output/source"
  params: []

- id: get_clock_aes_output_sync
  label: Get AES Output Clock Sync
  kind: query
  command: "/status/clock/aes_output/sync"
  params: []

- id: get_clock_gptp_status
  label: Get gPTP Clock Status
  kind: query
  command: "/status/clock/gptp/{port}/{field}"
  params:
    - name: port
      type: integer
      description: gPTP port 1-2
    - name: field
      type: enum
      values: [as_capable, grand_master_id, peer_delay, port_locked, port_role, as_path/trace_length]

- id: get_clock_input_status
  label: Get Input Clock Status
  kind: query
  command: "/status/clock/input/{input}/{field}"
  params:
    - name: input
      type: integer
      description: Clock input 1-32
    - name: field
      type: enum
      values: [sample_rate, sync]

- id: get_clock_rtc
  label: Get Real-Time Clock
  kind: query
  command: "/status/clock/rtc/date_and_time"
  params: []

- id: get_clock_system_status
  label: Get System Clock Status
  kind: query
  command: "/status/clock/system/{field}"
  params:
    - name: field
      type: enum
      values: [input_number, sample_rate, source, sync]

- id: get_clock_word_clock
  label: Get Word Clock Status
  kind: query
  command: "/status/clock/word_clock/{field}"
  params:
    - name: field
      type: enum
      values: [sync, termination]

- id: get_connected_client_counts
  label: Get Connected Client Counts
  kind: query
  command: "/status/{which}"
  params:
    - name: which
      type: enum
      values: [connected_client_count, connected_osc_tcp_client_count, connected_osc_udp_client_count, connected_text_tcp_client_count]

- id: get_hardware_board_status
  label: Get Hardware Board Status
  kind: query
  command: "/status/hardware/board/{board}/{field}"
  params:
    - name: board
      type: enum
      values: [digital, primary_io, secondary_io]
    - name: field
      type: string
      description: "Status field path; digital board exposes arm_temp, fan/{1-4}/{kickstarting,stalled,tach}, fpga_*_voltage, fpga_temp, main_5v0_voltage, vxco_pull, vcxo_sample_rate. primary_io/secondary_io expose analog_out_temp, i2c/*_present, trim/analog_in_ad/{1-4}/gain_comp|range_valid, trim/analog_out_da/{1-8}/gain_comp|range_valid."
  notes: "Substituting `secondary_io` for `primary_io` at the same path returns the secondary I/O board status per source."

- id: get_errors_exist
  label: Get Errors Exist Flag
  kind: query
  command: "/status/errors_exist"
  params: []

- id: get_identify_active
  label: Get Identify Active
  kind: query
  command: "/status/identify_active"
  params: []

- id: get_lcd_log_message
  label: Get LCD Log Message
  kind: query
  command: "/status/lcd_log_message"
  params: []

- id: get_led_status
  label: Get LED Status
  kind: query
  command: "/status/led/{which}"
  params:
    - name: which
      type: enum
      values: [avb_sync, media_clock, network, sim_bus]

- id: get_log_message
  label: Get Log Message
  kind: query
  command: "/status/log_message"
  params: []

- id: get_matrix_crosspoints_used
  label: Get Matrix Crosspoints Used
  kind: query
  command: "/status/matrix_crosspoints_used"
  params: []

- id: get_meter_input
  label: Get Input Meter
  kind: query
  command: "/status/meter/input/{input}"
  params:
    - name: input
      type: integer
      description: Input 1-8

- id: get_meter_input_split
  label: Get Input Split Meter
  kind: query
  command: "/status/meter/input_split/{input}"
  params:
    - name: input
      type: integer
      description: Input 1-8

- id: get_meter_line_mon
  label: Get Line Mon Meter
  kind: query
  command: "/status/meter/line_mon/{input}/{which}"
  params:
    - name: input
      type: integer
      description: Input 1-8
    - name: which
      type: enum
      values: [ideal, neg, pos]

- id: get_meter_matrix_input
  label: Get Matrix Input Meter
  kind: query
  command: "/status/meter/matrix_input/{input}"
  params:
    - name: input
      type: integer
      description: Matrix input 1-32

- id: get_meter_output
  label: Get Output Meter
  kind: query
  command: "/status/meter/output/{output}"
  params:
    - name: output
      type: integer
      description: Output 1-16

- id: get_meter_sim
  label: Get SIM Meter
  kind: query
  command: "/status/meter/sim/{channel}"
  params:
    - name: channel
      type: integer
      description: SIM channel 1-2

- id: get_model_string
  label: Get Model String
  kind: query
  command: "/status/model_string"
  params: []

- id: get_network_status
  label: Get Network Status
  kind: query
  command: "/status/network/{iface}/{field}"
  params:
    - name: iface
      type: integer
      description: Network interface 1-2
    - name: field
      type: enum
      values: [carrier, duplex, gateway, ip_address, mac_address, net_mask, speed]

- id: get_snapshot_recall_in_progress
  label: Get Snapshot Recall In Progress
  kind: query
  command: "/status/snapshot/recall_in_progress"
  params: []

- id: get_avb_clock_status
  label: Get AVB Clock Status
  kind: query
  command: "/status/avb/clock/{stream}/{role}/{field}"
  params:
    - name: stream
      type: integer
      description: AVB clock stream 1 (additional streams not enumerated in source)
    - name: role
      type: enum
      values: [connected_talker, listener, redundant_connected_talker, redundant-listener]
    - name: field
      type: string
      description: "Field such as channel_index, channel_name, connection_error, entity_id, entity_name, group_name, presentation_time, sample_rate, stream_format, stream_index, stream_name; listener/redundant-listener also expose early_timestamp_count, late_timestamp_count, media_locked, media_reset_count, msrp_accumulated_latency, presentation_time_margin, sequence_mismatch_count, stream_reset_count, timestamp_uncertain_count, unsupported_format_count."

- id: get_avb_input_status
  label: Get AVB Input Status
  kind: query
  command: "/status/avb/input/{input}/{role}/{field}"
  params:
    - name: input
      type: integer
      description: AVB input 1-32
    - name: role
      type: enum
      values: [connected_talker, listener, redundant_connected_talker, redundant-listener]
    - name: field
      type: string
      description: "Field as listed in Tables 19/20; `listener` and `redundant-listener` also expose media_locked and the timestamp/reset counters."

- id: get_entity
  label: Get Entity Identification
  kind: query
  command: "/entity/{field}"
  params:
    - name: field
      type: enum
      values: [entity_id, entity_model_id, entity_name, firmware_version, group_name, input_channel_count, input_stream_count, output_channel_count, output_stream_count, serial_number]

Feedbacks

# Observable states returned by the server. The /pong response is the only one
# explicitly documented as a discrete reply; all other state is read via
# cp_get_value on the corresponding control point.

- id: pong
  type: string
  description: "Response to :ping {keyword}. Sent only by the server; the client cannot send :pong. Carries the same keyword string that was sent in the ping."

- id: input_mute_state
  type: enum
  values: [true, false]
  description: "Returned by /processing/input/{n}/mute query (n=1-8)."

- id: input_gain_state
  type: float
  description: "Returned by /processing/input/{n}/gain query (n=1-8); -90 to 0 dB per source example."

- id: output_mute_state
  type: enum
  values: [true, false]
  description: "Returned by /processing/output/{n}/mute query (n=1-16)."

- id: output_gain_state
  type: float
  description: "Returned by /processing/output/{n}/gain query (n=1-16); -90 to 0 dB per source example."

- id: snapshot_active_id
  type: integer
  description: "Returned by /project/snapshot/active/id; '-1' when no snapshot selected per source."

- id: snapshot_recall_in_progress
  type: enum
  values: [true, false]
  description: "Returned by /status/snapshot/recall_in_progress."

- id: errors_exist
  type: enum
  values: [true, false]
  description: "Returned by /status/errors_exist."

- id: connected_client_count
  type: integer
  description: "Total number of clients currently connected to the control plane."

- id: connected_osc_tcp_client_count
  type: integer
  description: "OSC-over-TCP clients currently connected."

- id: connected_osc_udp_client_count
  type: integer
  description: "OSC-over-UDP clients currently connected."

- id: connected_text_tcp_client_count
  type: integer
  description: "ASCII (text) TCP clients currently connected."

- id: firmware_version
  type: string
  description: "Returned by /entity/firmware_version; default '2.1.0-R4-1907032112' in source."

- id: model_string
  type: string
  description: "Returned by /status/model_string; default 'GX-816' in source."

- id: log_message
  type: string
  description: "Formatted log line returned by /status/log_message."

- id: identify_active
  type: enum
  values: [true, false]
  description: "Returned by /status/identify_active."

Variables

# Settable parameters not represented as discrete actions above. Each
# control-point path is a settable address; the examples below are the
# non-action control points from the source tables.

- id: project_metadata_content_type
  path: /project/metadata/content_type
  type: integer
  default: "2"
  description: Content type metadata for the loaded project.

- id: project_metadata_schema_version
  path: /project/metadata/schema_version
  type: integer
  default: "10"
  description: Project metadata schema version.

- id: project_firmware_version
  path: /project/project_firmware_version
  type: string
  default: "none"
  description: Firmware version the project was authored against.

- id: entity_entity_id
  path: /entity/entity_id
  type: string
  description: AVB/MAAP entity ID; unique per device. Default '0x1cabfffe008d80' in source.
  writable: false
  notes: "Source marks this under Entity settings but does not declare it read-only explicitly; included as a status-like variable pending real-device confirmation."

- id: entity_entity_model_id
  path: /entity/entity_model_id
  type: string
  description: Device model ID. Default '0x1cabb804004005' in source.

- id: entity_entity_name
  path: /entity/entity_name
  type: string
  description: Device entity name. Default 'GALAXY-18139889' in source.

- id: entity_group_name
  path: /entity/group_name
  type: string
  description: Group name the device belongs to. Default 'GALAXYs' in source.

- id: entity_serial_number
  path: /entity/serial_number
  type: string
  description: Device serial number. Default '18139889' in source.

- id: entity_input_channel_count
  path: /entity/input_channel_count
  type: integer
  default: "64"

- id: entity_input_stream_count
  path: /entity/input_stream_count
  type: integer
  default: "18"

- id: entity_output_channel_count
  path: /entity/output_channel_count
  type: integer
  default: "24"

- id: entity_output_stream_count
  path: /entity/output_stream_count
  type: integer
  default: "14"

- id: matrix_crosspoints_used
  path: /status/matrix_crosspoints_used
  type: integer
  description: "Number of matrix cross-points currently in use (default '16' in source). Read-only."
  writable: false

Events

# The control plane only emits unsolicited messages in response to subscriptions
# (cp_subscribe). There is no event stream in the source beyond the subscription
# push mechanism.
- id: subscribed_value_push
  description: "After a client subscribes via cp_subscribe, the server pushes the current value of each subscribed control point at the requested interval, and on every change of value while the subscription is active. For UDP, the subscription expires after 30 seconds of client silence; resend a /ping to keep alive. For TCP, the subscription persists until cp_unsubscribe or the TCP connection drops."
  trigger: subscription_update
  transport: [tcp, udp]

Macros

# Multi-step sequences that the source documents as a single logical operation.
# The recall_snapshot exclusion argument is documented as a single command
# (not a macro) so it is represented in recall_snapshot's params, not here.

# UNRESOLVED: source does not document any higher-level multi-step macros
# (e.g. "save project", "reboot into snapshot N"). Remove this section if
# none are added after real-device verification.
[]  # UNRESOLVED: no multi-step macro sequences in source

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not document safety warnings, interlocks, or
# power-on sequencing requirements. The snapshot recall command can
# immediately change live audio routing/levels, but no explicit safety
# procedure is stated. Do not infer.

Notes

  • The control plane listens on both ASCII (port 25003) and OSC (port 25004) simultaneously for the same physical device. ASCII uses CR/LF-terminated text; OSC uses 4-byte length-prefixed packets on TCP and unprefixed datagrams on UDP.
  • Telnet is unavailable on current macOS; use nc per the source. mDNS names follow mslg-gx-{408|816|816aes|bluehorn}-{serial}.local or Entity.Group.local.
  • Virtual GALAXY instances are port-shifted: in Normal mode ASCII starts at 50503 (OSC 50504) and decrements by 100 per additional virtual; in Spacemap mode both start at 25003/25004 and increment by 100 per additional virtual.
  • Subscribe/unsubscribe apply the same syntax to all control points; the path may contain regular-expression tokens (., *, \d, \d+, character classes) to address many points in one command. Maximum 232 matrix cross-points may be set simultaneously.
  • Boolean values accept both true/false, T/F, and integer 1/0; the server type-casts positive non-zero integers to True per the source.
  • Status control points (/status/...) are read-only — setting them returns an error.
  • Default values shown in the source tables (e.g. EQ center frequencies, link-group IDs, network settings) are GALAXY-816 representative; other models may differ.

Provenance

source_domains:
  - docs.meyersound.com
  - applicationmarket.crestron.com
source_urls:
  - https://docs.meyersound.com/products/en/programming-guide---galileo-galaxy.html
  - https://docs.meyersound.com/products/en/user-guide---galileo-galaxy.html
  - https://applicationmarket.crestron.com/meyer-sound-galileo/
retrieved_at: 2026-04-26T18:21:57.350Z
last_checked_at: 2026-06-02T17:23:31.251Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T17:23:31.251Z
matched_actions: 134
action_count: 134
confidence: medium
summary: "All 134 spec actions match verbatim control-point paths in the source tables; transport ports 25003/25004/50503/50504 are confirmed in Table 1. (5 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "/project/snapshot/{id}/created"
- "/project/snapshot/{id}/last_updated"
- "/project/snapshot/{id}/modified"
- /project/snapshot/active/comment
- /project/snapshot/active/created
- /project/snapshot/active/last_updated
- /project/snapshot/active/locked
- /project/snapshot/active/modified
- /project/snapshot/active/name
- "Spacemap-mode control points not enumerated in source; firmware version requirements for the control plane are not specified."
- "source does not document any higher-level multi-step macros"
- "no multi-step macro sequences in source"
- "source does not document safety warnings, interlocks, or"
- "firmware version requirements for the control-plane server are not stated; some control point default values may differ across GALAXY 408 / 816 / 816-AES / Bluehorn variants. The \"Additional documents\" row that appears inside the input-EQ table (line 593 of the source) appears to be a markdown extraction artifact rather than a real control point and has been omitted."

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