Summary

SDI rasterizer signal monitor/generator with HTTP/REST control interface. Base URL pattern: http://{host}:8080/api/v1. Applies to Qx units running in SDI firmware mode (not SFP+ or other modes). Document correct as of software version 5.4.

Transport

protocols:
  - http
addressing:
  base_url: "http://{host}:8080/api/v1"
auth:
  type: none  # inferred: no auth/password/login procedure in source

Traits

# Inferred from endpoint structure:
- routable        # input/output routing endpoints present (inputOutput, sdiIn/sdiOut)
- queryable       # GET endpoints return device state; many read/write pairs
- levelable       # audio gain, jitter insertion amplitude, sdi driver gain endpoints present

Actions

# Presets
- id: list_presets
  label: List User Presets
  kind: action
  params: []

- id: create_preset
  label: Create User Preset
  kind: action
  params:
    - name: presetName
      type: string
      description: Name for new preset

- id: update_preset
  label: Update User Preset
  kind: action
  params:
    - name: presetName
      type: string
    - name: action
      type: string
      enum: [save, rename]

- id: delete_preset
  label: Delete User Preset
  kind: action
  params:
    - name: presetName
      type: string

# Screenshots
- id: list_screenshot_images
  label: List Screenshot Images
  kind: action
  params: []

- id: capture_screenshot
  label: Capture Screenshot
  kind: action
  params: []

- id: delete_screenshot
  label: Delete Screenshot
  kind: action
  params:
    - name: filename
      type: string

# Generator - audio
- id: set_generator_audio
  label: Set Generator Audio
  kind: action
  params:
    - name: mode
      type: string
      enum: [off, tone, custom, quickConfig]
    - name: channels
      type: array
      items:
        properties:
          channel: { type: integer, minimum: 0, maximum: 31 }
          frequency_Hz: { type: number, minimum: 1, maximum: 10000 }
          gain_dBFS: { type: integer, minimum: -144, maximum: 0 }

# Generator - bouncing box
- id: set_bouncing_box
  label: Set Bouncing Box
  kind: action
  params:
    - name: enabled
      type: boolean

# Generator - ident
- id: set_generator_ident
  label: Set Generator Ident
  kind: action
  params:
    - name: enabled
      type: boolean
    - name: text
      type: string
    - name: textColour
      type: string
    - name: backgroundColour
      type: string
    - name: backgroundEnabled
      type: boolean
    - name: location
      type: string
      enum: [topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight]
    - name: size
      type: string
      enum: [small, medium, large]
    - name: justify
      type: string
      enum: [left, center, right]

# Generator - jitter insertion
- id: set_jitter_insertion
  label: Set Jitter Insertion
  kind: action
  params:
    - name: mode
      type: string
      enum: [on, off]
    - name: amplitude_ui
      type: number
      minimum: 0.01
      maximum: 127.99
    - name: frequency_Hz
      type: number
      minimum: 10
      maximum: 10000000

# Generator - output copy
- id: set_output_copy
  label: Set Output Copy
  kind: action
  params:
    - name: enabled
      type: boolean

# Generator - output offset
- id: set_output_offset
  label: Set Output Offset
  kind: action
  params:
    - name: offsetType
      type: string
      enum: [line, pixel, time]
    - name: outputLineOffset
      type: integer
      minimum: -999999
      maximum: 999999
    - name: outputPixelOffset
      type: integer
      minimum: -999999
      maximum: 999999
    - name: outputTimeOffset_us
      type: number
      minimum: -999999
      maximum: 999999

# Generator - PRBS
- id: set_generator_prbs
  label: Set Generator PRBS
  kind: action
  params:
    - name: mode
      type: string
      enum: [off, pn7, pn15, pn23, pn31, pn63]
    - name: invert
      type: boolean

# Generator - SDI output mute
- id: set_sdi_output_mute
  label: Set SDI Output Mute
  kind: action
  params:
    - name: sdiOutputMuteA
      type: boolean
    - name: sdiOutputMuteB
      type: boolean
    - name: sdiOutputMuteC
      type: boolean
    - name: sdiOutputMuteD
      type: boolean

# Generator - SDI scrambler
- id: set_sdi_scrambler
  label: Set SDI Scrambler
  kind: action
  params:
    - name: enabled
      type: boolean

# Generator - sync bit inserter
- id: set_sync_bit_inserter
  label: Set Sync Bit Inserter
  kind: action
  params:
    - name: enabled
      type: boolean

# Input/output - SDI input type
- id: set_sdi_input_type
  label: Set SDI Input Type
  kind: action
  params:
    - name: type
      type: string
      enum: [auto, manual]

# Input/output - BNC output settings
- id: set_sdi_output_setting_bnc
  label: Set SDI Output Setting (BNC)
  kind: action
  params:
    - name: sdiOutputA
      type: string
      enum: [generator, loop]
    - name: sdiOutputB
      type: string
      enum: [generator, loop]
    - name: sdiOutputC
      type: string
      enum: [generator, loop]
    - name: sdiOutputD
      type: string
      enum: [generator, loop]

# Input/output - loop SDI BNC in
- id: set_loop_sdi_bnc_in
  label: Set Loop SDI BNC In
  kind: action
  params:
    - name: enabled
      type: boolean

# Input/output - generator output copy (BNC and SFP)
- id: set_generator_output_copy_bnc
  label: Set Generator Output Copy (BNC)
  kind: action
  params:
    - name: enabled
      type: boolean

- id: set_generator_output_copy_sfp
  label: Set Generator Output Copy (SFP)
  kind: action
  params:
    - name: enabled
      type: boolean

# Input/output - output type
- id: set_output_type
  label: Set Output Type
  kind: action
  params:
    - name: type
      type: string
      enum: [bnc, sfp]

# Analyser - ancillary inspector
- id: set_ancillary_inspector
  label: Set Ancillary Inspector
  kind: action
  params:
    - name: did
      type: integer
      minimum: 0
      maximum: 999999
    - name: sdid
      type: integer
      minimum: 0
      maximum: 999999
    - name: firstLine
      type: integer
      minimum: -999999
      maximum: 999999
    - name: lastLine
      type: integer
      minimum: -999999
      maximum: 999999
    - name: hancVancSelect
      type: string
      enum: [auto, vanc, hanc]
    - name: identifierSelect
      type: string
      enum: [did_sdid, did]
    - name: rangeSelect
      type: string
      enum: [field, frame, lines]
    - name: subImageSearch
      type: string
      enum: [off, line, field, frame, 2d]
    - name: yPosCPosSelect
      type: string
      enum: [auto, yPos, cPos]
    - name: searchAncGapErrors
      type: boolean
    - name: searchChecksumErrors
      type: boolean
    - name: searchDBNErrors
      type: boolean
    - name: searchParityErrors
      type: boolean
    - name: triggerOnlyOnErrors
      type: boolean

# Analyser - audio meter
- id: set_audio_meter
  label: Set Audio Meter
  kind: action
  params:
    - name: ballistics
      type: string
      enum: [PPM0, PPM1, PPM2, PPM3, PPM4, PPM5]

# Analyser - cable length
- id: set_cable_length
  label: Set Cable Length
  kind: action
  params:
    - name: cableType
      type: string
      enum: [single, double, triple, quadruple, s4003, s4004]

# Analyser - CRC summary
- id: set_crc_summary
  label: Set CRC Summary
  kind: action
  params:
    - name: action
      type: string
      enum: [clear]
    - name: ignoreCrcOnSwitchLines
      type: string
      enum: [ignore, process]

# Analyser - cursor
- id: set_active_picture_cursor
  label: Set Active Picture Cursor
  kind: action
  params:
    - name: activePictureLine
      type: integer
      minimum: -39
      maximum: 1084
    - name: activePicturePixel
      type: integer
      minimum: 0
      maximum: 2147483647

# Analyser - loudness config
- id: set_loudness_config
  label: Set Loudness Config
  kind: action
  params:
    - name: action
      type: string
      enum: [start, stop, reset]
    - name: control
      type: string
      enum: [start, stop, reset]
    - name: logDuration_mins
      type: integer
    - name: logFilename
      type: string
    - name: logLifetime_days
      type: integer
    - name: standard
      type: string
      enum: [BS.1770-1, BS.1770-2, BS.1770-3, BS.1770-4]
    - name: truePeakAlarm
      type: number
      minimum: -99
      maximum: 0

# Analyser - PRBS
- id: set_analyser_prbs
  label: Set Analyser PRBS
  kind: action
  params:
    - name: action
      type: string
      enum: [clear]
    - name: receiveMode
      type: string
      enum: [off, pn7, pn15, pn23, pn31, pn63]

# Analyser - override video standard
- id: set_override_video_standard
  label: Set Override Video Standard
  kind: action
  params:
    - name: manualOverrideEnabled
      type: boolean

# Eye - analysis parameters
- id: set_eye_analysis_parameters
  label: Set Eye Analysis Parameters
  kind: action
  params:
    - name: amplitudeMeasurementWindowSize_percent
      type: integer
      minimum: 1
      maximum: 100
    - name: amplitudeMeasurementWindowOffset_percent
      type: integer
      minimum: 1
      maximum: 100
    - name: analysisMethod
      type: string
      enum: [auto, manual]

# Timing - reference
- id: set_timing_reference
  label: Set Timing Reference
  kind: action
  params:
    - name: inputCommand
      type: string
      enum: [on, off]
    - name: inputMeasurementOffsetType
      type: string
      enum: [line, pixel, time]
    - name: inputMeasurementLineOffset
      type: integer
      minimum: -999999
      maximum: 999999
    - name: inputMeasurementPixelOffset
      type: integer
      minimum: -999999
      maximum: 999999
    - name: inputTimeOffset_us
      type: number
      minimum: -999999
      maximum: 999999
    - name: referenceTimingMeterRange
      type: string
      enum: [low, medium, high]
    - name: systemReferenceType
      type: string
      enum: [freeRun, format, black, timeCode]

# Event log config - each subcategory is a separate PUT endpoint
- id: set_eventlog_audio_input_presence
  label: Set Audio Input Presence Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_jitter_alignment
  label: Set Jitter Alignment Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_jitter_timing
  label: Set Jitter Timing Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_reference_locking
  label: Set Reference Locking Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_rest_api
  label: Set REST API Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_scte104
  label: Set SCTE-104 Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_sdi_input_rate
  label: Set SDI Input Rate Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_sdi_input_standard
  label: Set SDI Input Standard Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

- id: set_eventlog_sfp
  label: Set SFP Event Log
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]

# AES/EBU IO config
- id: set_aesIO_config
  label: Set AES IO Config
  kind: action
  params:
    - name: passthroughSource
      type: string
      enum: [aes1, aes2, aes3, aes4]

# Dolby decoder config
- id: set_dolby_decoder_config
  label: Set Dolby Decoder Config
  kind: action
  params:
    - name: action
      type: string
      enum: [enable, disable]
    - name: source
      type: object

# Ancillary status reset
- id: reset_ancillary_status
  label: Reset Ancillary Status
  kind: action
  params:
    - name: reset
      type: boolean

# CRC summary action
- id: clear_crc_summary
  label: Clear CRC Summary
  kind: action
  params: []

# Logged event actions
- id: add_eventlog_entry
  label: Add Event Log Entry
  kind: action
  params:
    - name: action
      type: string
      enum: [add]
    - name: event
      type: string
    - name: time
      type: string

# Generator - SDI driver settings
- id: set_sdi_driver_gain
  label: Set SDI Driver Gain
  kind: action
  params:
    - name: driverGain_percent
      type: integer
      minimum: 90
      maximum: 110

- id: set_sdi_driver_pre_emphasis
  label: Set SDI Driver Pre-Emphasis
  kind: action
  params:
    - name: driverPreEmphasis
      type: string
      enum: [off, low, medium, high]
    - name: driverPreEmphasisTimeConstant
      type: string
      enum: [short, medium, long, auto]

# Screenshot rename
- id: rename_screenshot
  label: Rename Screenshot
  kind: action
  params:
    - name: filename
      type: string
    - name: action
      type: string
      enum: [rename]
    - name: newFilename
      type: string

# Generator - test pattern selection (via standards)
- id: set_generator_pattern
  label: Set Generator Pattern
  kind: action
  params:
    - name: resolution
      type: string  # e.g. 1280x720p25
    - name: colorSpace
      type: string  # e.g. YCbCr:422:10
    - name: dynamicRange
      type: string  # e.g. 1.5G_HLG_Rec.2020
    - name: pattern
      type: string  # e.g. 100%25_Bars
    - name: action
      type: string
      enum: [start]
    - name: pathological
      type: object

Feedbacks

# All GET endpoints serve as read-only feedbacks.
# Key observable states:

- id: system_about
  type: object
  properties:
    device: string
    softwareVersion: string
    softwareNumber: string
    softwareBranch: string
    fpgaVersion: string
    sha: string
    currentFirmwareMode: string  # e.g. "SDI"
    currentSystemMode: string

- id: generator_status
  type: object
  properties:
    pattern: string
    standard: string
    audio: object
    bouncingBox: object
    jitterInsertion: object
    prbs: object
    sdiDriverGain: object
    sdiDriverPreEmphasis: object
    sdiScrambler: object
    syncBitInserter: object

- id: input_output_status
  type: object
  properties:
    sdiIn: object
    sdiOut: object

- id: analyser_status
  type: object
  properties:
    standard: string

- id: analyser_crc_summary
  type: object
  properties:
    errorCount: integer
    inputFailures: integer
    activePictureCrcChanges: integer
    rate_/s: integer
    okTime_ms: integer
    timeSinceInputFailure: integer
    ignoreCrcOnSwitchLines: string

- id: analyser_detail_crc
  type: object
  properties:
    activePictureCrc: string
    activePictureCrcChanges: integer
    errorCountCPos: integer
    errorCountYPos: integer
    ancErrorCountCPos: integer
    ancErrorCountYPos: integer

- id: analyser_audio_meter
  type: object
  properties:
    audioLevels: array
    audioPhase: array
    ballistics: string

- id: analyser_loudness_info
  type: object
  properties:
    controlState: string
    integratedValue: number
    momentaryValue: number
    shortTermValue: number
    truePeakValue: number

- id: analyser_cable_length
  type: object
  properties:
    cableType: string
    lengthA: number
    lengthB: integer
    lengthC: integer
    lengthD: integer
    attenuationA: number
    attenuationB: integer
    attenuationC: integer
    attenuationD: integer

- id: eye_status
  type: object
  properties:
    inputIsStable: boolean
    dcOffset_mV: integer
    riseTime_ps: integer
    fallTime_ps: integer
    minVoltage_mV: number
    maxVoltage_mV: number

- id: jitter_status
  type: object
  properties:
    jitterLocked: boolean
    10_Hz: number
    100_Hz: number
    1000_Hz: number
    10000_Hz: number
    100000_Hz: number

- id: sfp_info
  type: object
  properties:
    present: boolean
    vendorName: string
    partNumber: string
    serialNumber: string
    opticalWavelength_nm: integer
    bitRate_MBd: integer
    temperature_C: integer
    voltage: integer
    txPower_dBm: integer
    rxPower_dBm: integer

- id: eventlog_logs
  type: array
  items:
    properties:
      event: string
      time: string

- id: analyser_ancillary_status
  type: array
  properties:
    - description: string
      didSdid: string
      title: string

- id: timing_reference
  type: object
  properties:
    sdi: object
    systemReference: object

- id: dolby_decoder_status
  type: object
  properties:
    type: string
    status: integer

- id: dolby_decoder_metadata
  type: object

- id: analyser_dataview
  type: object
  properties:
    samples: array

Variables

# Settable parameters that are not discrete actions (read/write state):

- id: sdi_input_type
  label: SDI Input Type
  type: string
  get: GET /inputOutput/sdiIn/inputType
  set: PUT /inputOutput/sdiIn/inputType
  values: [auto, manual]

- id: sdi_output_setting
  label: SDI Output Setting (BNC)
  type: object
  get: GET /inputOutput/sdiOut/bnc/sdiOutputSetting
  set: PUT /inputOutput/sdiOut/bnc/sdiOutputSetting
  properties:
    sdiOutputA: [generator, loop]
    sdiOutputB: [generator, loop]
    sdiOutputC: [generator, loop]
    sdiOutputD: [generator, loop]

- id: output_type
  label: Output Type
  type: string
  get: GET /inputOutput/sdiOut/outputType
  set: PUT /inputOutput/sdiOut/outputType
  values: [bnc, sfp]

- id: sdi_output_setting_sfp
  label: SDI Output Setting (SFP)
  type: object
  get: GET /inputOutput/sdiOut/sfp/sdiOutputSetting
  set: PUT /inputOutput/sdiOut/sfp/sdiOutputSetting

- id: generator_audio_mode
  label: Generator Audio Mode
  type: string
  get: GET /generator/audio
  set: PUT /generator/audio
  values: [off, tone, custom, quickConfig]

- id: generator_ident
  label: Generator Ident
  type: object
  get: GET /generator/ident
  set: PUT /generator/ident

- id: jitter_insertion
  label: Jitter Insertion
  type: object
  get: GET /generator/jitterInsertion
  set: PUT /generator/jitterInsertion

- id: generator_prbs
  label: Generator PRBS
  type: object
  get: GET /generator/prbs
  set: PUT /generator/prbs

- id: sdi_output_mute
  label: SDI Output Mute
  type: object
  get: GET /generator/sdiOutputMute
  set: PUT /generator/sdiOutputMute

- id: sdi_scrambler
  label: SDI Scrambler
  type: boolean
  get: GET /generator/sdiScrambler
  set: PUT /generator/sdiScrambler

- id: output_copy
  label: Output Copy
  type: boolean
  get: GET /generator/outputCopy
  set: PUT /generator/outputCopy

- id: output_offset
  label: Output Offset
  type: object
  get: GET /generator/outputOffset
  set: PUT /generator/outputOffset

- id: sync_bit_inserter
  label: Sync Bit Inserter
  type: boolean
  get: GET /generator/syncBitInserter
  set: PUT /generator/syncBitInserter

- id: bouncing_box
  label: Bouncing Box
  type: boolean
  get: GET /generator/bouncingBox
  set: PUT /generator/bouncingBox

- id: sdi_driver_gain
  label: SDI Driver Gain
  type: integer
  get: GET /generator/sdiDriverGain
  set: PUT /generator/sdiDriverGain
  range: [90, 110]

- id: sdi_driver_pre_emphasis
  label: SDI Driver Pre-Emphasis
  type: object
  get: GET /generator/sdiDriverPreEmphasis
  set: PUT /generator/sdiDriverPreEmphasis

- id: eye_analysis_parameters
  label: Eye Analysis Parameters
  type: object
  get: GET /eye/analysisParameters
  set: PUT /eye/analysisParameters

- id: loudness_config
  label: Loudness Config
  type: object
  get: GET /analyser/loudness/config
  set: PUT /analyser/loudness/config

- id: override_video_standard
  label: Override Video Standard
  type: object
  get: GET /analyser/overrideVideoStandard/config
  set: PUT /analyser/overrideVideoStandard/config

- id: timing_reference
  label: Timing Reference
  type: object
  get: GET /timing/reference
  set: PUT /timing/reference

- id: aesIO_config
  label: AES IO Config
  type: object
  get: GET /aesIO/config
  set: PUT /aesIO/config

- id: dolby_decoder_config
  label: Dolby Decoder Config
  type: object
  get: GET /dolbyDecoder1/config
  set: PUT /dolbyDecoder1/config

- id: prbs_receive_mode
  label: Analyser PRBS Receive Mode
  type: string
  get: GET /analyser/prbs
  set: PUT /analyser/prbs

- id: cursor_position
  label: Active Picture Cursor Position
  type: object
  get: GET /analyser/cursors/activePictureCursor
  set: PUT /analyser/cursors/activePictureCursor

# Event log config variables (read/write booleans):
- id: eventlog_audio_input_presence
  label: Audio Input Presence Event Log
  type: boolean
  get: GET /eventlog/config/audioInputPresence
  set: PUT /eventlog/config/audioInputPresence

- id: eventlog_jitter_alignment
  label: Jitter Alignment Event Log
  type: boolean
  get: GET /eventlog/config/jitterAlignment
  set: PUT /eventlog/config/jitterAlignment

- id: eventlog_jitter_timing
  label: Jitter Timing Event Log
  type: boolean
  get: GET /eventlog/config/jitterTiming
  set: PUT /eventlog/config/jitterTiming

- id: eventlog_reference_locking
  label: Reference Locking Event Log
  type: boolean
  get: GET /eventlog/config/referenceLocking
  set: PUT /eventlog/config/referenceLocking

- id: eventlog_rest_api
  label: REST API Event Log
  type: boolean
  get: GET /eventlog/config/restApi
  set: PUT /eventlog/config/restApi

- id: eventlog_scte104
  label: SCTE-104 Event Log
  type: boolean
  get: GET /eventlog/config/scte104
  set: PUT /eventlog/config/scte104

- id: eventlog_sdi_input_rate
  label: SDI Input Rate Event Log
  type: boolean
  get: GET /eventlog/config/sdiInputRate
  set: PUT /eventlog/config/sdiInputRate

- id: eventlog_sdi_input_standard
  label: SDI Input Standard Event Log
  type: boolean
  get: GET /eventlog/config/sdiInputStandard
  set: PUT /eventlog/config/sdiInputStandard

- id: eventlog_sfp
  label: SFP Event Log
  type: boolean
  get: GET /eventlog/config/sfp
  set: PUT /eventlog/config/sfp

- id: ancillary_inspector_config
  label: Ancillary Inspector Config
  type: object
  get: GET /analyser/ancillaryInspector
  set: PUT /analyser/ancillaryInspector

- id: audio_meter_ballistics
  label: Audio Meter Ballistics
  type: string
  get: GET /analyser/audioMeter
  set: PUT /analyser/audioMeter

- id: cable_length_config
  label: Cable Length Config
  type: object
  get: GET /analyser/cableLength
  set: PUT /analyser/cableLength

- id: crc_summary_config
  label: CRC Summary Config
  type: object
  get: GET /analyser/crcSummary
  set: PUT /analyser/crcSummary

Events

# No server-initiated push events documented in source.
# All communication is client-initiated polling (GET/PUT).
# UNRESOLVED: event-driven push notifications not described in source.

Macros

# No explicit multi-step macro sequences documented in source.
# UNRESOLVED: populate from source if explicit macros are described.

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: safety warnings and interlock procedures not present in source document.
# Document applies to SDI firmware mode only - other modes (SFP+) not covered.

Notes

  • Base URL uses placeholder qx-XXXXXX — replace with actual device hostname or IP. Port 8080 is stated in source.
  • Device name "QX12G" is not found on phabrix.com; prior research indicates it is likely a regional variant of the Qx rasterizer series. The REST API document applies to all Qx units in SDI mode.
  • No authentication described in source — auth.type: none inferred. Do not assume this is appropriate for production deployment without verifying against actual device behavior.
  • All endpoints use JSON request/response; Content-Type not explicitly documented.
  • Screenshot endpoints return timestamps in filenames (e.g. 2023-11-15T152546) — not structured ISO8601 in all response fields.
  • Many endpoint path segments contain URL-encoded characters (e.g. YCbCr%3A422%3A10, 100%25%20Bars) — treat as literal path components.
  • Generator pattern selection via deeply nested path: /generator/standards/{resolution}/{colorSpace}/{dynamicRange}/{pattern} — only one concrete pattern path fully documented (1280x720p25/YCbCr:422:10/1.5G_HLG_Rec.2020/100%25_Bars).

Provenance

source_domains:
  - leaderphabrix.com
source_urls:
  - https://leaderphabrix.com/products/qx/
  - https://leaderphabrix.com/contact-support/phabrix-product-software/
retrieved_at: 2026-04-30T00:45:34.864Z
last_checked_at: 2026-06-02T22:13:01.925Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T22:13:01.925Z
matched_actions: 51
action_count: 51
confidence: medium
summary: "All 51 spec actions traced to source (dip-safe re-verify). (9 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "serial/RS-232 control not documented in source — no evidence of serial control for this device"
- "event-driven push notifications not described in source."
- "populate from source if explicit macros are described."
- "safety warnings and interlock procedures not present in source document."
- "serial/RS-232 control support not found in source"
- "SFP+ firmware mode API not covered — document explicitly applies to SDI mode only"
- "event-driven push notifications not described — all communication is request/response"
- "physical connection details (power, environmental) not covered"
- "firmware update procedure not documented"

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