Skip to content

Hardware Protocol Specification: Illustrative Frequency-Hopping Combat Net Radio Control Interface (fictional)

Version: 0.1-illustrative
Physical Layer: 115200 bps, 8N1.0
Framing: binary
Integrity Algorithm: crc16_ccitt_false

📄 AsyncAPI Artifacts: Download AsyncAPI 2.6.0 YAML | View Interactive AsyncAPI HTML Docs

Description

NOT derived from, or a model of, any specific fielded system's published ICD -- no such document is publicly available. Built only from unclassified, widely-taught operator-level concepts (net ID, hopset/keyset selection by index, time-of-day sync, channel lockout, single-channel fallback) to exercise the schema against this domain without claiming to be real.

Command Catalog & Message Signatures

Category: NET-CONTROL

SetNetId (Command ID: 0x00) - Selects which hopping net this radio joins. Does not carry key material.

Parameter Type Unit Range / Constraints Options
netId uint8 - - -

SelectHopset (Command ID: 0x01) - Selects a hopset/keyset by index into a locally fill-loaded table -- the index only, never the keyset contents.

Parameter Type Unit Range / Constraints Options
hopsetIndex uint8 - - -

SetTimeOfDay (Command ID: 0x02) - Synchronises the radio's hop-timing clock.

Parameter Type Unit Range / Constraints Options
secondsSinceEpoch uint32 - - -

Category: FREQUENCY-MANAGEMENT

SetChannelLockout (Command ID: 0x03) - Marks channels as excluded from the hop pattern (e.g. known-interfered channels), analogous in spirit to Bluetooth's AFH channel classification.

Parameter Type Unit Range / Constraints Options
lockoutBitmap bytes - - -

SetSingleChannelFrequency (Command ID: 0x04) - Fallback non-hopping ('single channel') operating frequency.

Parameter Type Unit Range / Constraints Options
frequencyHz uint32 - - -

Device-Initiated Messages

StatusResponse (Message ID: StatusResponse)

Field Name Type Unit
status bytes -

Formal AsyncAPI 2.6.0 Specification

asyncapi: 2.6.0
info:
  title: Illustrative Frequency-Hopping Combat Net Radio Control Interface (fictional)
  version: 0.1-illustrative
  description: NOT derived from, or a model of, any specific fielded system's published
    ICD -- no such document is publicly available. Built only from unclassified, widely-taught
    operator-level concepts (net ID, hopset/keyset selection by index, time-of-day
    sync, channel lockout, single-channel fallback) to exercise the schema against
    this domain without claiming to be real.
servers:
  serial_link:
    url: serial://tty/115200
    protocol: serial
    description: Physical UART Transport (115200 bps, 8N1.0)
    bindings:
      serial:
        baudRate: 115200
        dataBits: 8
        parity: none
        stopBits: 1.0
        framingType: binary
        integrity: crc16_ccitt_false
channels:
  omniuart/cmd/SetNetId:
    publish:
      summary: 'Send command SetNetId (ID: 0x00)'
      description: Selects which hopping net this radio joins. Does not carry key
        material.
      message:
        name: SetNetId_Message
        title: SetNetId Command
        payload:
          $ref: '#/components/schemas/SetNetId_Request'
  omniuart/cmd/SelectHopset:
    publish:
      summary: 'Send command SelectHopset (ID: 0x01)'
      description: Selects a hopset/keyset by index into a locally fill-loaded table
        -- the index only, never the keyset contents.
      message:
        name: SelectHopset_Message
        title: SelectHopset Command
        payload:
          $ref: '#/components/schemas/SelectHopset_Request'
  omniuart/cmd/SetTimeOfDay:
    publish:
      summary: 'Send command SetTimeOfDay (ID: 0x02)'
      description: Synchronises the radio's hop-timing clock.
      message:
        name: SetTimeOfDay_Message
        title: SetTimeOfDay Command
        payload:
          $ref: '#/components/schemas/SetTimeOfDay_Request'
  omniuart/cmd/SetChannelLockout:
    publish:
      summary: 'Send command SetChannelLockout (ID: 0x03)'
      description: Marks channels as excluded from the hop pattern (e.g. known-interfered
        channels), analogous in spirit to Bluetooth's AFH channel classification.
      message:
        name: SetChannelLockout_Message
        title: SetChannelLockout Command
        payload:
          $ref: '#/components/schemas/SetChannelLockout_Request'
  omniuart/cmd/SetSingleChannelFrequency:
    publish:
      summary: 'Send command SetSingleChannelFrequency (ID: 0x04)'
      description: Fallback non-hopping ('single channel') operating frequency.
      message:
        name: SetSingleChannelFrequency_Message
        title: SetSingleChannelFrequency Command
        payload:
          $ref: '#/components/schemas/SetSingleChannelFrequency_Request'
  omniuart/telemetry/StatusResponse:
    subscribe:
      summary: 'Unsolicited telemetry message StatusResponse (ID: StatusResponse)'
      description: 'Unsolicited telemetry message from device: StatusResponse'
      message:
        name: StatusResponse_Telemetry_Message
        title: StatusResponse Telemetry
        payload:
          $ref: '#/components/schemas/StatusResponse_Telemetry'
components:
  messages: {}
  schemas:
    SetNetId_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 0
          description: Opcode ID for SetNetId
        netId:
          type: integer
      description: Selects which hopping net this radio joins. Does not carry key
        material.
    SelectHopset_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 1
          description: Opcode ID for SelectHopset
        hopsetIndex:
          type: integer
      description: Selects a hopset/keyset by index into a locally fill-loaded table
        -- the index only, never the keyset contents.
    SetTimeOfDay_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 2
          description: Opcode ID for SetTimeOfDay
        secondsSinceEpoch:
          type: integer
      description: Synchronises the radio's hop-timing clock.
    SetChannelLockout_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 3
          description: Opcode ID for SetChannelLockout
        lockoutBitmap:
          type: string
          contentEncoding: base64
      description: Marks channels as excluded from the hop pattern (e.g. known-interfered
        channels), analogous in spirit to Bluetooth's AFH channel classification.
    SetSingleChannelFrequency_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 4
          description: Opcode ID for SetSingleChannelFrequency
        frequencyHz:
          type: integer
      description: Fallback non-hopping ('single channel') operating frequency.
    StatusResponse_Telemetry:
      type: object
      properties:
        status:
          type: string
          contentEncoding: base64
      description: Device-initiated telemetry payload for StatusResponse