BladeRF2InputSettings:
  description: BladeRF2
  properties:
    centerFrequency:
      type: integer
      format: int64
    LOppmTenths:
      type: integer
    devSampleRate:
      type: integer
    bandwidth:
      type: integer
    gainMode:
      type: integer
    globalGain:
      type: integer
    biasTee:
      type: integer
    log2Decim:
      type: integer
    fcPos:
      type: integer
    dcBlock:
      type: integer
    iqCorrection:
      type: integer
    transverterMode:
      type: integer
    transverterDeltaFrequency:
      type: integer
      format: int64
    iqOrder:
      type: integer
      description: >
        IQ samples order
          * 0 - Q then I (swapped)
          * 1 - I then Q (straight)
    useReverseAPI:
      description: Synchronize with reverse API (1 for yes, 0 for no)
      type: integer
    reverseAPIAddress:
      type: string
    reverseAPIPort:
      type: integer
    reverseAPIDeviceIndex:
      type: integer

BladeRF2InputReport:
  description: BladeRF2
  properties:
    frequencyRange:
      $ref: "/doc/swagger/include/Structs.yaml#/FrequencyRange"
    sampleRateRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    bandwidthRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    globalGainRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    gainModes:
      type: array
      items:
        $ref: "/doc/swagger/include/Structs.yaml#/NamedEnum"

BladeRF2OutputSettings:
  description: BladeRF2
  properties:
    centerFrequency:
      type: integer
      format: int64
    LOppmTenths:
      type: integer
    devSampleRate:
      type: integer
    bandwidth:
      type: integer
    globalGain:
      type: integer
    biasTee:
      type: integer
    log2Interp:
      type: integer
    transverterMode:
      type: integer
    transverterDeltaFrequency:
      type: integer
      format: int64
    useReverseAPI:
      description: Synchronize with reverse API (1 for yes, 0 for no)
      type: integer
    reverseAPIAddress:
      type: string
    reverseAPIPort:
      type: integer
    reverseAPIDeviceIndex:
      type: integer

BladeRF2OutputReport:
  description: BladeRF2
  properties:
    frequencyRange:
      $ref: "/doc/swagger/include/Structs.yaml#/FrequencyRange"
    sampleRateRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    bandwidthRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    globalGainRange:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"

BladeRF2MIMOSettings:
  description: BladeRF2
  properties:
    devSampleRate:
      type: integer
    LOppmTenths:
      type: integer
    rxCenterFrequency:
      type: integer
      format: int64
    log2Decim:
      type: integer
    fcPosRx:
      description: See BladeRF2MIMO::fcPos_t
      type: integer
    rxBandwidth:
      type: integer
    rx0GainMode:
      type: integer
    rx0GlobalGain:
      type: integer
    rx1GainMode:
      type: integer
    rx1GlobalGain:
      type: integer
    rxBiasTee:
      description: boolean
      type: integer
    dcBlock:
      description: boolean
      type: integer
    iqCorrection:
      description: boolean
      type: integer
    rxTransverterMode:
      description: boolean
      type: integer
    rxTransverterDeltaFrequency:
      type: integer
      format: int64
    iqOrder:
      type: integer
      description: >
        IQ samples order
          * 0 - Q then I (swapped)
          * 1 - I then Q (straight)
    txCenterFrequency:
      type: integer
      format: int64
    log2Interp:
      type: integer
    fcPosTx:
      description: See BladeRF2MIMO::fcPos_t
      type: integer
    txBandwidth:
      type: integer
    tx0GlobalGain:
      type: integer
    tx1GlobalGain:
      type: integer
    txBiasTee:
      description: boolean
      type: integer
    txTransverterMode:
      description: boolean
      type: integer
    txTransverterDeltaFrequency:
      type: integer
      format: int64
    useReverseAPI:
      description: boolean
      type: integer
    reverseAPIAddress:
      type: string
    reverseAPIPort:
      type: integer
    reverseAPIDeviceIndex:
      type: integer

BladeRF2MIMOReport:
  description: BladeRF2
  properties:
    frequencyRangeRx:
      $ref: "/doc/swagger/include/Structs.yaml#/FrequencyRange"
    sampleRateRangeRx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    bandwidthRangeRx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    globalGainRangeRx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    gainModesRx:
      type: array
      items:
        $ref: "/doc/swagger/include/Structs.yaml#/NamedEnum"
    frequencyRangeTx:
      $ref: "/doc/swagger/include/Structs.yaml#/FrequencyRange"
    sampleRateRangeTx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    bandwidthRangeTx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
    globalGainRangeTx:
      $ref: "/doc/swagger/include/Structs.yaml#/Range"
