diff --git a/doc/openapi/components/schemas/config/formats/column.yaml b/doc/openapi/components/schemas/config/formats/column.yaml index 3832c7718..28a16b910 100644 --- a/doc/openapi/components/schemas/config/formats/column.yaml +++ b/doc/openapi/components/schemas/config/formats/column.yaml @@ -2,8 +2,9 @@ --- allOf: -- $ref: line.yaml - type: object properties: delimiter: type: string + +- $ref: line.yaml diff --git a/doc/openapi/components/schemas/config/formats/csv.yaml b/doc/openapi/components/schemas/config/formats/csv.yaml index 6578a8755..7ac680bf8 100644 --- a/doc/openapi/components/schemas/config/formats/csv.yaml +++ b/doc/openapi/components/schemas/config/formats/csv.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: column.yaml diff --git a/doc/openapi/components/schemas/config/formats/iotagent_ul.yaml b/doc/openapi/components/schemas/config/formats/iotagent_ul.yaml index 23cd4a88f..155db87eb 100644 --- a/doc/openapi/components/schemas/config/formats/iotagent_ul.yaml +++ b/doc/openapi/components/schemas/config/formats/iotagent_ul.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/json.yaml b/doc/openapi/components/schemas/config/formats/json.yaml index 5e07302d4..cae3501bb 100644 --- a/doc/openapi/components/schemas/config/formats/json.yaml +++ b/doc/openapi/components/schemas/config/formats/json.yaml @@ -38,4 +38,5 @@ allOf: default: false description: Escape the `/` characters in strings with `\/`. + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/json_edgeflex.yaml b/doc/openapi/components/schemas/config/formats/json_edgeflex.yaml index a5fa8918f..4d163d8e5 100644 --- a/doc/openapi/components/schemas/config/formats/json_edgeflex.yaml +++ b/doc/openapi/components/schemas/config/formats/json_edgeflex.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: json.yaml diff --git a/doc/openapi/components/schemas/config/formats/json_kafka.yaml b/doc/openapi/components/schemas/config/formats/json_kafka.yaml index a5fa8918f..4d163d8e5 100644 --- a/doc/openapi/components/schemas/config/formats/json_kafka.yaml +++ b/doc/openapi/components/schemas/config/formats/json_kafka.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: json.yaml diff --git a/doc/openapi/components/schemas/config/formats/json_reserve.yaml b/doc/openapi/components/schemas/config/formats/json_reserve.yaml index a5fa8918f..4d163d8e5 100644 --- a/doc/openapi/components/schemas/config/formats/json_reserve.yaml +++ b/doc/openapi/components/schemas/config/formats/json_reserve.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: json.yaml diff --git a/doc/openapi/components/schemas/config/formats/line.yaml b/doc/openapi/components/schemas/config/formats/line.yaml index dd0434c1b..479554427 100644 --- a/doc/openapi/components/schemas/config/formats/line.yaml +++ b/doc/openapi/components/schemas/config/formats/line.yaml @@ -6,4 +6,5 @@ allOf: properties: separator: type: string + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/opal_asyncip.yaml b/doc/openapi/components/schemas/config/formats/opal_asyncip.yaml index 1d635f985..5d7af8db9 100644 --- a/doc/openapi/components/schemas/config/formats/opal_asyncip.yaml +++ b/doc/openapi/components/schemas/config/formats/opal_asyncip.yaml @@ -6,4 +6,5 @@ allOf: properties: dev_id: type: integer + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/protobuf.yaml b/doc/openapi/components/schemas/config/formats/protobuf.yaml index 23cd4a88f..155db87eb 100644 --- a/doc/openapi/components/schemas/config/formats/protobuf.yaml +++ b/doc/openapi/components/schemas/config/formats/protobuf.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/tsv.yaml b/doc/openapi/components/schemas/config/formats/tsv.yaml index 6578a8755..7ac680bf8 100644 --- a/doc/openapi/components/schemas/config/formats/tsv.yaml +++ b/doc/openapi/components/schemas/config/formats/tsv.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: column.yaml diff --git a/doc/openapi/components/schemas/config/formats/value.yaml b/doc/openapi/components/schemas/config/formats/value.yaml index 23cd4a88f..155db87eb 100644 --- a/doc/openapi/components/schemas/config/formats/value.yaml +++ b/doc/openapi/components/schemas/config/formats/value.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/villas_binary.yaml b/doc/openapi/components/schemas/config/formats/villas_binary.yaml index 23cd4a88f..155db87eb 100644 --- a/doc/openapi/components/schemas/config/formats/villas_binary.yaml +++ b/doc/openapi/components/schemas/config/formats/villas_binary.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: ../format.yaml diff --git a/doc/openapi/components/schemas/config/formats/villas_human.yaml b/doc/openapi/components/schemas/config/formats/villas_human.yaml index 3b709c721..28a16b910 100644 --- a/doc/openapi/components/schemas/config/formats/villas_human.yaml +++ b/doc/openapi/components/schemas/config/formats/villas_human.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: line.yaml diff --git a/doc/openapi/components/schemas/config/formats/villas_web.yaml b/doc/openapi/components/schemas/config/formats/villas_web.yaml index 83351cd45..49044ec21 100644 --- a/doc/openapi/components/schemas/config/formats/villas_web.yaml +++ b/doc/openapi/components/schemas/config/formats/villas_web.yaml @@ -6,4 +6,5 @@ allOf: properties: delimiter: type: string + - $ref: villas_binary.yaml diff --git a/doc/openapi/components/schemas/config/hooks/average.yaml b/doc/openapi/components/schemas/config/hooks/average.yaml index 702832c98..f7109594a 100644 --- a/doc/openapi/components/schemas/config/hooks/average.yaml +++ b/doc/openapi/components/schemas/config/hooks/average.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object required: - offset @@ -17,3 +15,5 @@ allOf: - `0` inserts the averaged signal before all other signals in the sample - `1` inserts the averaged signal after the first signal. +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/cast.yaml b/doc/openapi/components/schemas/config/hooks/cast.yaml index db94349c2..7304d19e5 100644 --- a/doc/openapi/components/schemas/config/hooks/cast.yaml +++ b/doc/openapi/components/schemas/config/hooks/cast.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object properties: new_type: @@ -23,3 +21,6 @@ allOf: type: string description: The new unit of the casted signal. example: V + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/decimate.yaml b/doc/openapi/components/schemas/config/hooks/decimate.yaml index f719a6eb1..1212a0fc7 100644 --- a/doc/openapi/components/schemas/config/hooks/decimate.yaml +++ b/doc/openapi/components/schemas/config/hooks/decimate.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object required: - ratio @@ -11,4 +10,5 @@ allOf: type: integer description: The decimation ratio. A value of 4 will skip every, but the 4th sample in a row. example: 4 - \ No newline at end of file + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/dp.yaml b/doc/openapi/components/schemas/config/hooks/dp.yaml index 9398b1932..73f21c65d 100644 --- a/doc/openapi/components/schemas/config/hooks/dp.yaml +++ b/doc/openapi/components/schemas/config/hooks/dp.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: single.yaml - type: object required: - f0 @@ -31,3 +29,5 @@ allOf: type: boolean default: false +- $ref: common.yaml +- $ref: single.yaml diff --git a/doc/openapi/components/schemas/config/hooks/drop.yaml b/doc/openapi/components/schemas/config/hooks/drop.yaml index e164e66ef..5af5e9214 100644 --- a/doc/openapi/components/schemas/config/hooks/drop.yaml +++ b/doc/openapi/components/schemas/config/hooks/drop.yaml @@ -3,4 +3,3 @@ allOf: - $ref: common.yaml - diff --git a/doc/openapi/components/schemas/config/hooks/dump.yaml b/doc/openapi/components/schemas/config/hooks/dump.yaml index e164e66ef..5af5e9214 100644 --- a/doc/openapi/components/schemas/config/hooks/dump.yaml +++ b/doc/openapi/components/schemas/config/hooks/dump.yaml @@ -3,4 +3,3 @@ allOf: - $ref: common.yaml - diff --git a/doc/openapi/components/schemas/config/hooks/ebm.yaml b/doc/openapi/components/schemas/config/hooks/ebm.yaml index d545cdabd..283541187 100644 --- a/doc/openapi/components/schemas/config/hooks/ebm.yaml +++ b/doc/openapi/components/schemas/config/hooks/ebm.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object required: - phases @@ -20,3 +19,5 @@ allOf: maxItems: 2 items: type: integer + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/gate.yaml b/doc/openapi/components/schemas/config/hooks/gate.yaml index 052aaa454..3350381d9 100644 --- a/doc/openapi/components/schemas/config/hooks/gate.yaml +++ b/doc/openapi/components/schemas/config/hooks/gate.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: single.yaml - type: object properties: mode: @@ -25,3 +23,6 @@ allOf: samples: description: The number if samples for which the gate opens when the triggering condition is met. Exclusive with the `duration` setting. type: number + +- $ref: common.yaml +- $ref: single.yaml diff --git a/doc/openapi/components/schemas/config/hooks/jitter_calc.yaml b/doc/openapi/components/schemas/config/hooks/jitter_calc.yaml index e164e66ef..5af5e9214 100644 --- a/doc/openapi/components/schemas/config/hooks/jitter_calc.yaml +++ b/doc/openapi/components/schemas/config/hooks/jitter_calc.yaml @@ -3,4 +3,3 @@ allOf: - $ref: common.yaml - diff --git a/doc/openapi/components/schemas/config/hooks/limit_rate.yaml b/doc/openapi/components/schemas/config/hooks/limit_rate.yaml index bd0764c91..bcbe7da87 100644 --- a/doc/openapi/components/schemas/config/hooks/limit_rate.yaml +++ b/doc/openapi/components/schemas/config/hooks/limit_rate.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object required: - rate @@ -18,3 +17,5 @@ allOf: - local - received - origin + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/limit_value.yaml b/doc/openapi/components/schemas/config/hooks/limit_value.yaml index 4e8341f7e..7fed40b98 100644 --- a/doc/openapi/components/schemas/config/hooks/limit_value.yaml +++ b/doc/openapi/components/schemas/config/hooks/limit_value.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object required: - min @@ -15,3 +13,6 @@ allOf: max: description: The largest value which will pass through the hook before getting clipped. type: number + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/lua.yaml b/doc/openapi/components/schemas/config/hooks/lua.yaml index b7f7b0506..b44286f68 100644 --- a/doc/openapi/components/schemas/config/hooks/lua.yaml +++ b/doc/openapi/components/schemas/config/hooks/lua.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object additionalProperties: description: | @@ -79,3 +78,5 @@ allOf: An arbitrary Lua expression which will be evaluated and used for the value of the signal. Note you can access the current sample using the global Lua variable `smp`. - $ref: ../signal_spec.yaml + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/ma.yaml b/doc/openapi/components/schemas/config/hooks/ma.yaml index 2218a9526..963c66142 100644 --- a/doc/openapi/components/schemas/config/hooks/ma.yaml +++ b/doc/openapi/components/schemas/config/hooks/ma.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object properties: window_size: @@ -12,3 +10,6 @@ allOf: example: 100 default: 0 minimum: 0 + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/pmu_dft.yaml b/doc/openapi/components/schemas/config/hooks/pmu_dft.yaml index 7dc5af849..bc7c905f1 100644 --- a/doc/openapi/components/schemas/config/hooks/pmu_dft.yaml +++ b/doc/openapi/components/schemas/config/hooks/pmu_dft.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object required: - sample_rate @@ -106,3 +104,6 @@ allOf: default: 0.0 example: 1.0 description: An offset added to the calculated RoCoF. This setting does not really make sense but is available for completeness reasons" + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/pps_ts.yaml b/doc/openapi/components/schemas/config/hooks/pps_ts.yaml index bddbc0060..e8d860a92 100644 --- a/doc/openapi/components/schemas/config/hooks/pps_ts.yaml +++ b/doc/openapi/components/schemas/config/hooks/pps_ts.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: single.yaml - type: object required: - expected_smp_rate @@ -28,3 +26,6 @@ allOf: horizon_compensation: type: integer default: 10 + +- $ref: common.yaml +- $ref: single.yaml diff --git a/doc/openapi/components/schemas/config/hooks/print.yaml b/doc/openapi/components/schemas/config/hooks/print.yaml index babffe778..6ec8f3ee2 100644 --- a/doc/openapi/components/schemas/config/hooks/print.yaml +++ b/doc/openapi/components/schemas/config/hooks/print.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object properties: output: @@ -15,4 +14,5 @@ allOf: type: string default: '' description: An optional prefix which will be prepended to each line written by this hook to the output - \ No newline at end of file + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/rms.yaml b/doc/openapi/components/schemas/config/hooks/rms.yaml index 2218a9526..963c66142 100644 --- a/doc/openapi/components/schemas/config/hooks/rms.yaml +++ b/doc/openapi/components/schemas/config/hooks/rms.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object properties: window_size: @@ -12,3 +10,6 @@ allOf: example: 100 default: 0 minimum: 0 + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/round.yaml b/doc/openapi/components/schemas/config/hooks/round.yaml index cb98b4c87..fc5050e36 100644 --- a/doc/openapi/components/schemas/config/hooks/round.yaml +++ b/doc/openapi/components/schemas/config/hooks/round.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object properties: precision: @@ -11,3 +9,6 @@ allOf: default: 0 example: 4 description: The number of decimal digits to which the singal is rounded. + +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/scale.yaml b/doc/openapi/components/schemas/config/hooks/scale.yaml index c720da701..2ae217d55 100644 --- a/doc/openapi/components/schemas/config/hooks/scale.yaml +++ b/doc/openapi/components/schemas/config/hooks/scale.yaml @@ -2,8 +2,6 @@ --- allOf: -- $ref: common.yaml -- $ref: multi.yaml - type: object properties: offset: @@ -17,4 +15,5 @@ allOf: example: 1e3 description: The gain which is mulitplied to the signal before the offset is added. - \ No newline at end of file +- $ref: common.yaml +- $ref: multi.yaml diff --git a/doc/openapi/components/schemas/config/hooks/shift_seq.yaml b/doc/openapi/components/schemas/config/hooks/shift_seq.yaml index b0c88080f..a92430a07 100644 --- a/doc/openapi/components/schemas/config/hooks/shift_seq.yaml +++ b/doc/openapi/components/schemas/config/hooks/shift_seq.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object required: - offset @@ -11,3 +10,4 @@ allOf: type: integer description: The offset which is added to the sequence number of each processed sample. +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/shift_ts.yaml b/doc/openapi/components/schemas/config/hooks/shift_ts.yaml index f3cb9259f..e39d9851d 100644 --- a/doc/openapi/components/schemas/config/hooks/shift_ts.yaml +++ b/doc/openapi/components/schemas/config/hooks/shift_ts.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object required: - offset @@ -16,3 +15,5 @@ allOf: offset: type: number description: The offset in seconds which is added to the timestamp field of each processed sample. + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/skip_first.yaml b/doc/openapi/components/schemas/config/hooks/skip_first.yaml index 1a57baef4..6a2e793da 100644 --- a/doc/openapi/components/schemas/config/hooks/skip_first.yaml +++ b/doc/openapi/components/schemas/config/hooks/skip_first.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object properties: samples: @@ -11,3 +10,5 @@ allOf: seconds: type: number description: The number of seconds for which this hook should initially drop samples after a start or restart of the node/path. + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/hooks/stats.yaml b/doc/openapi/components/schemas/config/hooks/stats.yaml index 215c94c59..a2d933fbd 100644 --- a/doc/openapi/components/schemas/config/hooks/stats.yaml +++ b/doc/openapi/components/schemas/config/hooks/stats.yaml @@ -2,7 +2,6 @@ --- allOf: -- $ref: common.yaml - type: object properties: format: @@ -23,3 +22,5 @@ allOf: type: string description: The file where you want to write the report to. If omitted, stdout (the terminal) will be used. default: '/dev/stdout' + +- $ref: common.yaml diff --git a/doc/openapi/components/schemas/config/nodes/api.yaml b/doc/openapi/components/schemas/config/nodes/api.yaml index 80226ae84..213ae54b5 100644 --- a/doc/openapi/components/schemas/config/nodes/api.yaml +++ b/doc/openapi/components/schemas/config/nodes/api.yaml @@ -10,4 +10,5 @@ allOf: ```bash curl http://localhost:80/api/v2/universal/api_node_name/config ``` + - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/can.yaml b/doc/openapi/components/schemas/config/nodes/can.yaml index 564e59c27..4db03c7e4 100644 --- a/doc/openapi/components/schemas/config/nodes/can.yaml +++ b/doc/openapi/components/schemas/config/nodes/can.yaml @@ -3,5 +3,25 @@ allOf: - type: object - properties: {} + properties: + interface_name: + type: string + description: Name of the Socket CAN interface + + in: + type: object + properties: + signals: + type: array + items: + $ref: ./signals/can.yaml + + out: + type: object + properties: + signals: + type: array + items: + $$ref: ./signals/can.yaml + - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/comedi.yaml b/doc/openapi/components/schemas/config/nodes/comedi.yaml index 4e79b9ef2..5de261876 100644 --- a/doc/openapi/components/schemas/config/nodes/comedi.yaml +++ b/doc/openapi/components/schemas/config/nodes/comedi.yaml @@ -3,7 +3,37 @@ allOf: - type: object + required: + - rate + - signals + properties: - format: - $ref: ../format_spec.yaml + subdevice: + type: integer + + bufsize: + type: integer + default: 16 + + signals: + type: array + items: + type: object + required: + - channel + - range + - aref + properties: + channel: + type: integer + + range: + type: integer + + aref: + type: integer + + rate: + type: integer + - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/ethercat.yaml b/doc/openapi/components/schemas/config/nodes/ethercat.yaml index 810164b83..38c201671 100644 --- a/doc/openapi/components/schemas/config/nodes/ethercat.yaml +++ b/doc/openapi/components/schemas/config/nodes/ethercat.yaml @@ -2,8 +2,39 @@ --- allOf: -- $ref: ../node.yaml - type: object properties: - format: - $ref: ../format_spec.yaml + rate: + type: number + + in: + type: object + properties: + num_channels: + type: integer + + range: + type: number + + product_code: + type: integer + + vendor_id: + type: integer + + out: + type: object + properties: + num_channels: + type: integer + + range: + type: number + + product_code: + type: integer + + vendor_id: + type: integer + +- $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/exec.yaml b/doc/openapi/components/schemas/config/nodes/exec.yaml index 033ea6b85..c2d7058ac 100644 --- a/doc/openapi/components/schemas/config/nodes/exec.yaml +++ b/doc/openapi/components/schemas/config/nodes/exec.yaml @@ -19,7 +19,7 @@ allOf: exec: description: | - The program which should be execed in the sub-process. + The program which should be executed in the sub-process. The option is passed to the system shell for execution. @@ -43,7 +43,6 @@ allOf: environment: type: object description: | - A object of key/value pairs of environemnt variables which should be passed to the sub-process in addition to the parent environment. - + A object of key/value pairs of environment variables which should be passed to the sub-process in addition to the parent environment. - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml b/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml index 81bda0f9d..d15f2c785 100644 --- a/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml +++ b/doc/openapi/components/schemas/config/nodes/iec61850-8-1.yaml @@ -12,7 +12,7 @@ allOf: signals: type: array items: - $ref: ../iec61850_signal.yaml + $ref: ./signals/iec61850.yaml out: type: object @@ -23,7 +23,7 @@ allOf: signals: type: array items: - $ref: ../iec61850_signal.yaml + $ref: ./signals/iec61850.yaml svid: type: string @@ -47,8 +47,6 @@ allOf: vlan_priority: type: integer - - interface: type: string description: Name of network interface to/from which this node will publish/subscribe for SV frames. diff --git a/doc/openapi/components/schemas/config/nodes/kafka.yaml b/doc/openapi/components/schemas/config/nodes/kafka.yaml index 6e1663ffa..0f2ec9476 100644 --- a/doc/openapi/components/schemas/config/nodes/kafka.yaml +++ b/doc/openapi/components/schemas/config/nodes/kafka.yaml @@ -75,8 +75,4 @@ allOf: description: A timeout in seconds for the broker connection. default: 1.0 - - - - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/loopback.yaml b/doc/openapi/components/schemas/config/nodes/loopback.yaml index 0af5b51ff..58e57b20e 100644 --- a/doc/openapi/components/schemas/config/nodes/loopback.yaml +++ b/doc/openapi/components/schemas/config/nodes/loopback.yaml @@ -26,5 +26,4 @@ allOf: default: auto description: Specify the synchronization mode of the internal queue. - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/ngsi.yaml b/doc/openapi/components/schemas/config/nodes/ngsi.yaml index 0ddb2e0b2..594c8cf3f 100644 --- a/doc/openapi/components/schemas/config/nodes/ngsi.yaml +++ b/doc/openapi/components/schemas/config/nodes/ngsi.yaml @@ -18,9 +18,9 @@ allOf: ssl_verify: type: boolean + description: Verify SSL certificate against local trust store. timeout: type: number - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/redis.yaml b/doc/openapi/components/schemas/config/nodes/redis.yaml index 714298e3a..a1a80d1d1 100644 --- a/doc/openapi/components/schemas/config/nodes/redis.yaml +++ b/doc/openapi/components/schemas/config/nodes/redis.yaml @@ -60,7 +60,6 @@ allOf: See: https://redis.io/commands/auth - db: type: integer default: 0 @@ -126,8 +125,4 @@ allOf: type: string description: A path to the private key file. - - - - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/rtp.yaml b/doc/openapi/components/schemas/config/nodes/rtp.yaml index 26a45ead0..68c6eed92 100644 --- a/doc/openapi/components/schemas/config/nodes/rtp.yaml +++ b/doc/openapi/components/schemas/config/nodes/rtp.yaml @@ -7,6 +7,46 @@ allOf: format: $ref: ../format_spec.yaml + rtcp: + type: boolean + description: Enable Real-time Control Protocol (RTCP) + + aimd: + type: object + properties: + a: + type: number + default: 10 + b: + type: number + default: 0.5 + Kp: + type: number + default: 1.0 + Ki: + type: number + default: 0.0 + Kd: + type: number + default: 0.0 + rate_min: + type: number + default: 1 + rate_source: + type: number + default: 2000 + rate_init: + type: number + log: + type: string + hook_type: + type: string + default: disabled + enum: + - decimate + - limit_rate + - disabled + out: type: object properties: diff --git a/doc/openapi/components/schemas/config/nodes/signal.yaml b/doc/openapi/components/schemas/config/nodes/signal.yaml index 67444205d..933c48f3a 100644 --- a/doc/openapi/components/schemas/config/nodes/signal.yaml +++ b/doc/openapi/components/schemas/config/nodes/signal.yaml @@ -56,7 +56,6 @@ allOf: default: 0.0 description: Tha pase of the signal when the `signal` setting is one of `sine` or `pulse`. - pulse_width: type: number default: 1.0 diff --git a/doc/openapi/components/schemas/config/nodes/signal_v2.yaml b/doc/openapi/components/schemas/config/nodes/signal_v2.yaml index 921e240e8..9077a6708 100644 --- a/doc/openapi/components/schemas/config/nodes/signal_v2.yaml +++ b/doc/openapi/components/schemas/config/nodes/signal_v2.yaml @@ -4,7 +4,33 @@ allOf: - type: object properties: - format: - $ref: ../format_spec.yaml + realtime: + type: boolean + default: true + description: Pace the generation of samples by the `rate` setting. + + limit: + type: integer + default: 0 + description: Stop the node after the provided number of samples. + + rate: + type: number + description: The rate at which the samples are generated if operating in real-time mode (See `realtime` option). + + monitor_missed: + type: boolean + default: false + description: Raise warnings if the signal generator fails to operate in real-time due to missed deadlines. + + in: + type: object + required: + - signals + properties: + signals: + type: array + items: + $ref: ./signals/generator.yaml - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/signals/can.yaml b/doc/openapi/components/schemas/config/nodes/signals/can.yaml new file mode 100644 index 000000000..67e0d488c --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/signals/can.yaml @@ -0,0 +1,16 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +type: object +properties: + can_id: + type: integer + default: 0 + + can_size: + type: integer + default: 8 + + can_offset: + type: integer + default: 0 diff --git a/doc/openapi/components/schemas/config/signal_spec.yaml b/doc/openapi/components/schemas/config/nodes/signals/common.yaml similarity index 92% rename from doc/openapi/components/schemas/config/signal_spec.yaml rename to doc/openapi/components/schemas/config/nodes/signals/common.yaml index 6c40b800f..ef026ee3f 100644 --- a/doc/openapi/components/schemas/config/signal_spec.yaml +++ b/doc/openapi/components/schemas/config/nodes/signals/common.yaml @@ -1,4 +1,6 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema --- + type: object properties: name: diff --git a/doc/openapi/components/schemas/config/nodes/signals/generator.yaml b/doc/openapi/components/schemas/config/nodes/signals/generator.yaml new file mode 100644 index 000000000..cce295652 --- /dev/null +++ b/doc/openapi/components/schemas/config/nodes/signals/generator.yaml @@ -0,0 +1,72 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema +--- + +type: object +required: +- signal +properties: + signal: + type: string + enum: + - random + - sine + - square + - triangle + - ramp + - counter + - constant + - mixed + - pulse + description: | + The type of signal which should be generated: + + - `random`: a random walk with normal distributed step sizes will be generated. + - `sine`: a sine signal will be generated. + - `square`: a square / rectangle wave will be generated. + - `triangle`: a triangle wave will be generated. + - `ramp`: the generator will produce a ramp signal in the interval `[ 0, 1 / f ]`. + - `counter`: increasing integer counter is generated. + - `constant`: a constant value generated. + - `mixed`: the signals of of each sample are generated by cycling over all remaining signal types. + - `pulse`: generates pulses with a set frequency, phase and width + + amplitude: + type: number + description: The amplitude of the signal when the `signal` setting is one of `sine`, `square` or `triangle`. + default: 1.0 + + frequency: + type: number + description: The frequency of the signal when the `signal` setting is one of `sine`, `square`, `triangle`,`pulse` or `ramp`. + default: 1.0 + + phase: + type: number + default: 0.0 + description: Tha pase of the signal when the `signal` setting is one of `sine` or `pulse`. + + + pulse_width: + type: number + default: 1.0 + description: The width of the pulse, with respect to the rate + + pulse_low: + type: number + default: 0.0 + description: The low value of the pulse signal. + + pulse_high: + type: number + default: 1.0 + description: The high value of the pulse signal. + + stddev: + type: number + default: 0.2 + description: The standard deviation of the normal distributed steps if the `signal` setting is set to `random`. + + offset: + type: number + default: 0.0 + description: Adds a constant offset to each of the generated signals. diff --git a/doc/openapi/components/schemas/config/iec61850_signal.yaml b/doc/openapi/components/schemas/config/nodes/signals/iec61850.yaml similarity index 100% rename from doc/openapi/components/schemas/config/iec61850_signal.yaml rename to doc/openapi/components/schemas/config/nodes/signals/iec61850.yaml diff --git a/doc/openapi/components/schemas/config/signal_list.yaml b/doc/openapi/components/schemas/config/nodes/signals/list.yaml similarity index 95% rename from doc/openapi/components/schemas/config/signal_list.yaml rename to doc/openapi/components/schemas/config/nodes/signals/list.yaml index b49852212..e93719a38 100644 --- a/doc/openapi/components/schemas/config/signal_list.yaml +++ b/doc/openapi/components/schemas/config/nodes/signals/list.yaml @@ -1,4 +1,6 @@ +# yaml-language-server: $schema=http://json-schema.org/draft-07/schema --- + title: Signal list description: | Each node should define a list of signals which it receives. diff --git a/doc/openapi/components/schemas/config/nodes/socket.yaml b/doc/openapi/components/schemas/config/nodes/socket.yaml index 5a40a9a4b..9349bc3c2 100644 --- a/doc/openapi/components/schemas/config/nodes/socket.yaml +++ b/doc/openapi/components/schemas/config/nodes/socket.yaml @@ -46,7 +46,6 @@ allOf: netem: $ref: ../netem.yaml - multicast: type: object properties: @@ -70,5 +69,4 @@ allOf: loop: type: boolean - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/stats_node.yaml b/doc/openapi/components/schemas/config/nodes/stats_node.yaml index 921e240e8..8494ab9cc 100644 --- a/doc/openapi/components/schemas/config/nodes/stats_node.yaml +++ b/doc/openapi/components/schemas/config/nodes/stats_node.yaml @@ -4,7 +4,17 @@ allOf: - type: object properties: - format: - $ref: ../format_spec.yaml + rate: + type: number + description: A rate in Hz at which the statistics are generated by this node. + + in: + type: object + required: signals + properties: + signals: + type: array + items: + $ref: ./signals/stats.yaml - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/temper.yaml b/doc/openapi/components/schemas/config/nodes/temper.yaml index c8e2a4adb..3e76bd2ae 100644 --- a/doc/openapi/components/schemas/config/nodes/temper.yaml +++ b/doc/openapi/components/schemas/config/nodes/temper.yaml @@ -25,5 +25,4 @@ allOf: type: integer description: A filter applied to the USB port number for selecting a specific sensor if multiple are available. - - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/test_rtt.yaml b/doc/openapi/components/schemas/config/nodes/test_rtt.yaml index 921e240e8..ca6540f84 100644 --- a/doc/openapi/components/schemas/config/nodes/test_rtt.yaml +++ b/doc/openapi/components/schemas/config/nodes/test_rtt.yaml @@ -3,8 +3,72 @@ allOf: - type: object + required: + - cases properties: format: $ref: ../format_spec.yaml + prefix: + type: string + description: A prefix which is prepended to the output file name of the RTT test result file. + example: "test_1" + + output: + type: string + default: "." + description: A directory path at which the RTT test result files be placed. + + cooldown: + type: number + default: 0.0 + description: | + A cool-down time between consecutive test cases. + The node will insert a pause between the tests to avoid any network effects of the previous test-case to influence the upcoming test-case. + + cases: + type: object + description: | + A list of test-case specifications. + + The values from the `rates` and `values` settings of each-test case specification will be used to form a cross-product. + properties: + rates: + description: | + A list of sending rates in Hz. + The resulting test-case will generate samples at the given rate. + example: + - 10 + - 100 + - 1000 + - 10000 + type: array + items: + type: number + + values: + description: | + A list of sample length. + The resulting test-case will generate samples with the given number of signals. + type: array + items: + type: integer + example: + - 10 + - 100 + + limit: + description: | + The resulting test-case will send the number of samples specified by this setting. + This setting is exclusive with the `duration` setting. + type: integer + example: 10000 + + duration: + description: | + The resulting test-case will be stopped after the configured duration in seconds. + This setting is exclusive with the `limit` setting. + type: number + example: 60.0 + - $ref: ../node.yaml diff --git a/doc/openapi/components/schemas/config/nodes/zeromq.yaml b/doc/openapi/components/schemas/config/nodes/zeromq.yaml index 9422f8d6e..2e992921e 100644 --- a/doc/openapi/components/schemas/config/nodes/zeromq.yaml +++ b/doc/openapi/components/schemas/config/nodes/zeromq.yaml @@ -53,5 +53,4 @@ allOf: description: | The private key of the server. - - $ref: ../node.yaml diff --git a/include/villas/nodes/can.hpp b/include/villas/nodes/can.hpp index 2162a718a..e948b773d 100644 --- a/include/villas/nodes/can.hpp +++ b/include/villas/nodes/can.hpp @@ -43,7 +43,6 @@ struct can_signal { struct can { /* Settings */ char *interface_name; - double *sample_rate; struct can_signal *in; struct can_signal *out; diff --git a/lib/nodes/can.cpp b/lib/nodes/can.cpp index 9dfdccda6..261f40177 100644 --- a/lib/nodes/can.cpp +++ b/lib/nodes/can.cpp @@ -132,9 +132,8 @@ int villas::node::can_parse(NodeCompat *n, json_t *json) c->in = nullptr; c->out = nullptr; - ret = json_unpack_ex(json, &err, 0, "{ s: s, s: F, s?: { s?: o }, s?: { s?: o } }", + ret = json_unpack_ex(json, &err, 0, "{ s: s, s?: { s?: o }, s?: { s?: o } }", "interface_name", &c->interface_name, - "sample_rate", &c->sample_rate, "in", "signals", &json_in_signals, "out",