1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-01-06 08:19:05 -05:00

Feature plugins framework: REST API source yaml files

This commit is contained in:
f4exb 2020-09-21 03:05:44 +02:00
parent 84408abcd4
commit dc9e77b63d
6 changed files with 619 additions and 63 deletions

View File

@ -0,0 +1,57 @@
ChannelReport:
description: Base channel report. Only the channel report corresponding to the channel specified in the channelType field is or should be present.
discriminator: channelType
required:
- deviceHwType
- direction
properties:
channelType:
description: Channel type code
type: string
direction:
description: 0 for Rx only, 1 for Tx only or 2 for any number and direction (default 0)
type: integer
AMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/AMDemod.yaml#/AMDemodReport"
AMModReport:
$ref: "http://swgserver:8081/api/swagger/include/AMMod.yaml#/AMModReport"
ATVModReport:
$ref: "http://swgserver:8081/api/swagger/include/ATVMod.yaml#/ATVModReport"
BFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport"
ChirpChatDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
ChirpChatModReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
DSDDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport"
FileSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/FileSink.yaml#/FileSinkReport"
FileSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/FileSource.yaml#/FileSourceReport"
FreeDVDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
FreeDVModReport:
$ref: "http://swgserver:8081/api/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
FreqTrackerReport:
$ref: "http://swgserver:8081/api/swagger/include/FreqTracker.yaml#/FreqTrackerReport"
NFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/NFMDemod.yaml#/NFMDemodReport"
NFMModReport:
$ref: "http://swgserver:8081/api/swagger/include/NFMMod.yaml#/NFMModReport"
SSBDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/SSBDemod.yaml#/SSBDemodReport"
RemoteSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/RemoteSource.yaml#/RemoteSourceReport"
SigMFFileSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/SigMFFileSink.yaml#/SigMFFileSinkReport"
SSBModReport:
$ref: "http://swgserver:8081/api/swagger/include/SSBMod.yaml#/SSBModReport"
UDPSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/UDPSource.yaml#/UDPSourceReport"
UDPSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/UDPSink.yaml#/UDPSinkReport"
WFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/WFMDemod.yaml#/WFMDemodReport"
WFMModReport:
$ref: "http://swgserver:8081/api/swagger/include/WFMMod.yaml#/WFMModReport"

View File

@ -0,0 +1,17 @@
FeatureActions:
description: Base feature actions. Only the feature actions corresponding to the feature specified in the featureType field is or should be present.
discriminator: featureType
required:
- featureType
properties:
featureType:
description: Feature type code
type: string
originatorFeatureSetIndex:
description: Optional for reverse API. This is the feature set index from where the message comes from.
type: integer
originatorFeatureIndex:
description: Optional for reverse API. This is the feature index from where the message comes from.
type: integer
SimplePTTActions:
$ref: "http://swgserver:8081/api/swagger/include/SimplePTT.yaml#/SimplePTTActions"

View File

@ -0,0 +1,11 @@
FeatureReport:
description: Base feature report. Only the feature report corresponding to the feature specified in the featureType field is or should be present.
discriminator: featureType
required:
- featureType
properties:
featureType:
description: Feature type code
type: string
SimplePTTReport:
$ref: "http://swgserver:8081/api/swagger/include/SimplePTT.yaml#/SimplePTTReport"

View File

@ -0,0 +1,17 @@
FeatureSettings:
description: Base feature settings. Only the feature settings corresponding to the feature specified in the featureType field is or should be present.
discriminator: featureType
required:
- featureType
properties:
featureType:
description: Feature type code
type: string
originatorFeatureSetIndex:
description: Optional for reverse API. This is the feature set index from where the message comes from.
type: integer
originatorFeatureIndex:
description: Optional for reverse API. This is the feature index from where the message comes from.
type: integer
SimplePTTSettings:
$ref: "http://swgserver:8081/api/swagger/include/SimplePTT.yaml#/SimplePTTSettings"

View File

@ -0,0 +1,50 @@
SimplePTTSettings:
description: "Simple PTT settings"
properties:
title:
type: string
rgbColor:
type: integer
rxDeviceSetIndex:
description: index of the Rx device set to connect the Rx side to
type: integer
txDeviceSetIndex:
description: index of the Tx device set to connect the Tx side to
type: integer
rx2TxDelayMs:
description: Delay in milliseconds from Rx off to Tx on
type: integer
tx2RxDelayMs:
description: Delay in milliseconds from Tx off to Rx on
type: integer
useReverseAPI:
description: Synchronize with reverse API (1 for yes, 0 for no)
type: integer
reverseAPIAddress:
type: string
reverseAPIPort:
type: integer
reverseAPIDeviceIndex:
type: integer
reverseAPIChannelIndex:
type: integer
SimplePTTReport:
description: "Simple PTT report"
properties:
ptt:
type: integer
description: >
PTT status
* 0 - released
* 1 - engaged
SimplePTTActions:
description: "Simple PTT actions"
properties:
ptt:
type: integer
description: >
PTT action
* 0 - release
* 1 - engage

View File

@ -883,6 +883,23 @@ paths:
"501":
$ref: "#/responses/Response_501"
/sdrangel/featuresets:
x-swagger-router-controller: instance
get:
description: Get summary information about feature sets opened in the instance
operationId: instanceFeatureSetsGet
tags:
- Instance
responses:
"200":
description: On success return feature set list
schema:
$ref: "#/definitions/FeatureSetList"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/deviceset:
x-swagger-router-controller: instance
post:
@ -1629,8 +1646,9 @@ paths:
$ref: "#/responses/Response_501"
/sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}:
x-swagger-router-controller: deviceset
delete:
description: delete channel (server only)
description: delete a channel
operationId: devicesetChannelDelete
tags:
- DeviceSet
@ -1655,7 +1673,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or channel not found
description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@ -1691,7 +1709,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or channel not found
description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@ -1730,7 +1748,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or channel not found
description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@ -1769,7 +1787,7 @@ paths:
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or channel not found
description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@ -1799,13 +1817,13 @@ paths:
"200":
description: On success return channel report
schema:
$ref: "#/definitions/ChannelReport"
$ref: "http://swgserver:8081/api/swagger/include/ChannelReport.yaml#/ChannelReport"
"400":
description: Invalid device set or channel index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device or channel not found
description: Device set or channel not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
@ -1855,6 +1873,400 @@ paths:
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}:
x-swagger-router-controller: featureset
get:
description: Get feature set information
operationId: featuresetGet
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the device set list
responses:
"200":
description: On success return details on the feature set
schema:
$ref: "#/definitions/FeatureSet"
"404":
description: Invalid index
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature:
x-swagger-router-controller: featureset
post:
description: add a feature
operationId: featuresetFeaturePost
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- name: body
in: body
description: Feature identification (no settings data)
required: true
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
responses:
"202":
description: Message to add a feature was sent successfully
schema:
$ref: "#/definitions/SuccessResponse"
"400":
description: Invalid feature set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}:
x-swagger-router-controller: featureset
delete:
description: delete a feature
operationId: featuresetFeatureDelete
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of feature in the features list
responses:
"200":
description: On success return deleted feature settings
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/run:
x-swagger-router-controller: featureset
get:
description: get feature run status
operationId: featuresetFeatureRunGet
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of feature in the features list
responses:
"200":
description: On success return current feature run state
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid feature set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
post:
description: start feature
operationId: featuresetFeatureRunPost
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of feature in the features list
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid feature set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
delete:
description: stop feature
operationId: featuresetFeatureRunDelete
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of feature in the features list
responses:
"200":
description: On success return state before change
schema:
$ref: "#/definitions/DeviceState"
"400":
description: Invalid device set index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Device not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/settings:
x-swagger-router-controller: featureset
get:
description: get a feature settings
operationId: featuresetFeatureSettingsGet
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of the feature in the features list for this feature set
responses:
"200":
description: On success return feature settings
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
put:
description: apply all settings unconditionally (force)
operationId: featuresetFEatureSettingsPut
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of the feature in the features list for this feature set
- name: body
in: body
description: Feature settings to apply
required: true
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
responses:
"200":
description: On success return feature new settings
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
patch:
description: apply settings differentially (no force)
operationId: featuresetFeatureSettingsPatch
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of the feature in the features list for this feature set
- name: body
in: body
description: Feature settings to apply
required: true
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
responses:
"200":
description: On success return feature new settings
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureSettings.yaml#/FeatureSettings"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/report:
x-swagger-router-controller: featureset
get:
description: get a feature report
operationId: featuresetFeatureReportGet
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of the feature in the features list for this feature set
responses:
"200":
description: On success return feature report
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureReport.yaml#/FeatureReport"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/sdrangel/featureset/{featureSetIndex}/feature/{featureIndex}/actions:
x-swagger-router-controller: featureset
post:
description: post an action or actions on a channel
operationId: featuresetFeatureActionsPost
tags:
- FeatureSet
parameters:
- in: path
name: featureSetIndex
type: integer
required: true
description: Index of feature set in the feature set list
- in: path
name: featureIndex
type: integer
required: true
description: Index of the feature in the features list for this feature set
- name: body
in: body
description: Action(s) to apply to the feature
required: true
schema:
$ref: "http://swgserver:8081/api/swagger/include/FeatureActions.yaml#/FeatureActions"
responses:
"202":
description: Message to perform action was sent successfully
schema:
$ref: "#/definitions/SuccessResponse"
"400":
description: Invalid feature set or feature index
schema:
$ref: "#/definitions/ErrorResponse"
"404":
description: Feature set or feature not found
schema:
$ref: "#/definitions/ErrorResponse"
"500":
$ref: "#/responses/Response_500"
"501":
$ref: "#/responses/Response_501"
/swagger:
x-swagger-pipe: swagger_raw
@ -2063,6 +2475,53 @@ definitions:
items:
$ref: "#/definitions/DeviceSet"
Feature:
description: "Feature summarized information"
required:
- index
- id
- uid
- title
properties:
index:
description: "Index in the list of features"
type: integer
id:
description: "Key to identify the type of feature"
type: string
uid:
description: "Feature instance unique id"
type: integer
format: int64
title:
description: "Freeform title of the feature"
type: string
FeatureSet:
description: "Grouping of features"
required:
- featurecount
properties:
featurecount:
description: "Number of features in the set"
type: integer
features:
description: "Features list"
type: array
items:
$ref: "#/definitions/Feature"
FeatureSetList:
description: "List of feature sets opened in this instance"
required:
- featuresetcount
properties:
featuresetcount:
description: "Number of feature sets opened in this instance"
type: integer
featureSets:
type: array
items:
$ref: "#/definitions/FeatureSet"
SpectrumServer:
description: "Spectrum server state"
properties:
@ -2169,7 +2628,7 @@ definitions:
description: "Channel shift frequency in Hz from the center of baseband"
type: integer
report:
$ref: "#/definitions/ChannelReport"
$ref: "http://swgserver:8081/api/swagger/include/ChannelReport.yaml#/ChannelReport"
ChannelsDetail:
description: "All channels detailed information"
@ -2459,61 +2918,6 @@ definitions:
preset:
$ref: "#/definitions/PresetIdentifier"
ChannelReport:
description: Base channel report. Only the channel report corresponding to the channel specified in the channelType field is or should be present.
discriminator: channelType
properties:
channelType:
description: Channel type code
type: string
direction:
description: 0 for Rx only, 1 for Tx only or 2 for any number and direction (default 0)
type: integer
AMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/AMDemod.yaml#/AMDemodReport"
AMModReport:
$ref: "http://swgserver:8081/api/swagger/include/AMMod.yaml#/AMModReport"
ATVModReport:
$ref: "http://swgserver:8081/api/swagger/include/ATVMod.yaml#/ATVModReport"
BFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport"
ChirpChatDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
ChirpChatModReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
DSDDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport"
FileSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/FileSink.yaml#/FileSinkReport"
FileSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/FileSource.yaml#/FileSourceReport"
FreeDVDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
FreeDVModReport:
$ref: "http://swgserver:8081/api/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
FreqTrackerReport:
$ref: "http://swgserver:8081/api/swagger/include/FreqTracker.yaml#/FreqTrackerReport"
NFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/NFMDemod.yaml#/NFMDemodReport"
NFMModReport:
$ref: "http://swgserver:8081/api/swagger/include/NFMMod.yaml#/NFMModReport"
SSBDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/SSBDemod.yaml#/SSBDemodReport"
RemoteSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/RemoteSource.yaml#/RemoteSourceReport"
SigMFFileSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/SigMFFileSink.yaml#/SigMFFileSinkReport"
SSBModReport:
$ref: "http://swgserver:8081/api/swagger/include/SSBMod.yaml#/SSBModReport"
UDPSourceReport:
$ref: "http://swgserver:8081/api/swagger/include/UDPSource.yaml#/UDPSourceReport"
UDPSinkReport:
$ref: "http://swgserver:8081/api/swagger/include/UDPSink.yaml#/UDPSinkReport"
WFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/WFMDemod.yaml#/WFMDemodReport"
WFMModReport:
$ref: "http://swgserver:8081/api/swagger/include/WFMMod.yaml#/WFMModReport"
responses:
Response_500: