asyncapi: 2.6.0
info:
  title: Modbus ASCII
  version: '1.0'
  description: Modbus over serial, ASCII transmission mode. Every logical byte is
    sent as 2 ASCII hex characters, framed between ':' and CRLF.
servers:
  serial_link:
    url: serial://tty/115200
    protocol: serial
    description: Physical UART Transport (115200 bps, 7N1.0)
    bindings:
      serial:
        baudRate: 115200
        dataBits: 7
        parity: even
        stopBits: 1.0
        framingType: delimited
        integrity: sum8
channels:
  omniuart/cmd/ReadHoldingRegistersRequest:
    publish:
      summary: 'Send command ReadHoldingRegistersRequest (ID: 0x03)'
      description: Dispatch ReadHoldingRegistersRequest frame to microcontroller over
        serial line
      message:
        name: ReadHoldingRegistersRequest_Message
        title: ReadHoldingRegistersRequest Command
        payload:
          $ref: '#/components/schemas/ReadHoldingRegistersRequest_Request'
components:
  messages: {}
  schemas:
    ReadHoldingRegistersRequest_Request:
      type: object
      properties:
        command_id:
          type: integer
          const: 3
          description: Opcode ID for ReadHoldingRegistersRequest
        slaveAddress:
          type: integer
        startAddress:
          type: integer
        quantity:
          type: integer
      description: Command payload for ReadHoldingRegistersRequest
