AFCSettings:
  description: "AFC settings"
  properties:
    title:
      type: string
    rgbColor:
      type: integer
    trackerDeviceSetIndex:
      description: index of the device set of frequency tracker being used
      type: integer
    trackedDeviceSetIndex:
      description: index of the device set being tracked (channels and possibly device)
      type: integer
    hasTargetFrequency:
      type: integer
      description: >
        Adjust device frequency to match tracker frequency
          * 0 - disabled
          * 1 - enabled
    transverterTarget:
      type: integer
      description: >
        Use transverter or device frequency for tracker frequency adjustment
          * 0 - device
          * 1 - transverter
    targetFrequency:
      description: Target frequency for the tracker
      type: integer
      format: int64
    freqTolerance:
      description: Frequency shift tolerance before tracker frequency is (re)adjusted
      type: integer
    trackerAdjustPeriod:
      description: Tracker channel frequency adjustment period in seconds
      type: integer
    useReverseAPI:
      description: Synchronize with reverse API (1 for yes, 0 for no)
      type: integer
    reverseAPIAddress:
      type: string
    reverseAPIPort:
      type: integer
    reverseAPIFeatureSetIndex:
      type: integer
    reverseAPIFeatureIndex:
      type: integer
    rollupState:
      $ref: "/doc/swagger/include/RollupState.yaml#/RollupState"

AFCReport:
  description: "AFC report"
  properties:
    runningState:
      type: integer
      description: >
        Running state
          * 0 - not started
          * 1 - idle
          * 2 - running
          * 3 - error
    trackerChannelIndex:
      description: Tracker index in device set
      type: integer
    trackerDeviceFrequency:
      description: Center frequency of tracker device
      type: integer
      format: int64
    trackerChannelOffset:
      description: Tracker channel offset from device center frequency
      type: integer

AFCActions:
  description: "AFC actions"
  properties:
    run:
      type: integer
      description: >
        Set the plugin running state
          * 0 - idle
          * 1 - run
    deviceTrack:
      type: integer
      description: >
        (Re)initialize tracker target frequency adjustment
          * 0 - release
          * 1 - engage
    devicesApply:
      type: integer
      description: >
        (Re)initialize device sets tracking
          * 0 - release
          * 1 - engage
