diff --git a/.editorconfig b/.editorconfig index 6e05103d5..b5ea25092 100644 --- a/.editorconfig +++ b/.editorconfig @@ -23,9 +23,9 @@ indent_style = space indent_size = 4 [*.conf] -indent_style = tab -indent_size = 8 +indent_style = space +indent_size = 4 -[*.nix] +[*.{nix,json}] indent_style = space indent_size = 2 diff --git a/etc/WSCC_9bus_MV.conf b/etc/WSCC_9bus_MV.conf index 0eabebb42..c666a6925 100644 --- a/etc/WSCC_9bus_MV.conf +++ b/etc/WSCC_9bus_MV.conf @@ -2,60 +2,60 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "info" + level = "info" } http = { - enabled = false + enabled = false } nodes = { - opal = { - type = "socket" + opal = { + type = "socket" - in = { - address = "*:13000" + in = { + address = "*:13000" - hooks = ( - { type = "stats" } - ), - signals = ( - { type = "float", name = "f0" }, - { type = "float", name = "f1" }, - { type = "float", name = "f2" }, - { type = "float", name = "f3" }, - { type = "float", name = "cnt" } - ) - } - out = { - address = "134.130.169.81:13000" + hooks = ( + { type = "stats" } + ), + signals = ( + { type = "float", name = "f0" }, + { type = "float", name = "f1" }, + { type = "float", name = "f2" }, + { type = "float", name = "f3" }, + { type = "float", name = "cnt" } + ) + } + out = { + address = "134.130.169.81:13000" - netem = { - enabled = true, + netem = { + enabled = true, - delay = 10000, // 10 ms - jitter = 5000, // 5 ms - distribution = "normal", - loss = 10 - } - } - } + delay = 10000, // 10 ms + jitter = 5000, // 5 ms + distribution = "normal", + loss = 10 + } + } + } } paths = ( - { - in = "opal", - out = "opal", + { + in = "opal", + out = "opal", - hooks = ( - { - type = "average", - offset = 0, - signals = ["f0", "f1", "f2", "f3"] - } + hooks = ( + { + type = "average", + offset = 0, + signals = ["f0", "f1", "f2", "f3"] + } # { # type = "print" # } - ) - } + ) + } ) diff --git a/etc/eric-lab.conf b/etc/eric-lab.conf index 62eaa57b6..6c8c31a21 100644 --- a/etc/eric-lab.conf +++ b/etc/eric-lab.conf @@ -13,61 +13,61 @@ # SPDX-License-Identifier: Apache-2.0 name = "villas-acs" # The name of this VILLASnode. Might by used by node-types - # to identify themselves (default is the hostname). + # to identify themselves (default is the hostname). logging = { - level = "debug" + level = "debug" } http = { - port = 80 # Port for HTTP connections + port = 80 # Port for HTTP connections } ## Dictionary of nodes nodes = { - ws = { - type = "websocket" - unit = "MVa" - units = [ "V", "A", "Var" ] - description = "Demo Channel" - series = ( - { label = "Random walk" }, - { label = "Sine" }, - { label = "Rect" }, - { label = "Ramp" } - ) - } - socket1 = { - type = "socket" - layper = "udp" - - in = { - address = "*:12000" - } - out = { - address = "127.0.0.1:12001" - } - } - socket2 = { - type = "socket" - layer = "udp" + ws = { + type = "websocket" + unit = "MVa" + units = [ "V", "A", "Var" ] + description = "Demo Channel" + series = ( + { label = "Random walk" }, + { label = "Sine" }, + { label = "Rect" }, + { label = "Ramp" } + ) + } + socket1 = { + type = "socket" + layper = "udp" - in = { - address = "*:12001" - } - out = { - address = "127.0.0.1:1200" - } - } + in = { + address = "*:12000" + } + out = { + address = "127.0.0.1:12001" + } + } + socket2 = { + type = "socket" + layer = "udp" + + in = { + address = "*:12001" + } + out = { + address = "127.0.0.1:1200" + } + } } ## List of paths paths = ( - { - in = "socket2", - out = "ws" - } + { + in = "socket2", + out = "ws" + } ) diff --git a/etc/examples/api.conf b/etc/examples/api.conf index 144d660e4..83cf35fd7 100644 --- a/etc/examples/api.conf +++ b/etc/examples/api.conf @@ -2,104 +2,104 @@ # SPDX-License-Identifier: Apache-2.0 http = { - port = 8080 + port = 8080 } nodes = { - api_node = { - type = "api" + api_node = { + type = "api" - in = { - signals = ( - { - name = "sig1_in", - type = "float", - unit = "V", - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - }, - { - name = "sig2_in", - type = "float", - unit = "A", - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - }, - { - name = "sig3_in", - type = "float", - unit = "A", - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - } - ) - } + in = { + signals = ( + { + name = "sig1_in", + type = "float", + unit = "V", + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + }, + { + name = "sig2_in", + type = "float", + unit = "A", + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + }, + { + name = "sig3_in", + type = "float", + unit = "A", + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + } + ) + } - out = { - signals = ( - # Output signals have no name, type and unit settings as those are implicitly - # derived from the signals which are routed to this node - { - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - }, - { - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - }, - { - description = "Signal 1", - rate = 100, - readable = true, - writable = false, - payload = "samples" - } - ) - } - } + out = { + signals = ( + # Output signals have no name, type and unit settings as those are implicitly + # derived from the signals which are routed to this node + { + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + }, + { + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + }, + { + description = "Signal 1", + rate = 100, + readable = true, + writable = false, + payload = "samples" + } + ) + } + } - signal_node = { - type = "signal" + signal_node = { + type = "signal" - signal = "mixed" - values = 5 - rate = 1.0 - } + signal = "mixed" + values = 5 + rate = 1.0 + } } paths = ( - { - in = [ - "api_node" - ], - hooks = ( - "print" - ) - }, - { - in = [ - "signal_node" - ] - out = [ - "api_node" - ] - hooks = ( - "print" - ) - } + { + in = [ + "api_node" + ], + hooks = ( + "print" + ) + }, + { + in = [ + "signal_node" + ] + out = [ + "api_node" + ] + hooks = ( + "print" + ) + } ) diff --git a/etc/examples/formats/csv.conf b/etc/examples/formats/csv.conf index 35f727b62..1a35b9d25 100644 --- a/etc/examples/formats/csv.conf +++ b/etc/examples/formats/csv.conf @@ -2,17 +2,17 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "csv" + format = { + type = "csv" - separator = "," - delimiter = "\n" - skip_first_line = false - header = true - } - } + separator = "," + delimiter = "\n" + skip_first_line = false + header = true + } + } } diff --git a/etc/examples/formats/gtnet.conf b/etc/examples/formats/gtnet.conf index d7b661d65..ff54b8de5 100644 --- a/etc/examples/formats/gtnet.conf +++ b/etc/examples/formats/gtnet.conf @@ -2,16 +2,16 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "gtnet" + format = { + type = "gtnet" - bits = 32 - endianess = "little" - fake = false - } - } + bits = 32 + endianess = "little" + fake = false + } + } } diff --git a/etc/examples/formats/iotagent_ul.conf b/etc/examples/formats/iotagent_ul.conf index e9af8373e..74f249510 100644 --- a/etc/examples/formats/iotagent_ul.conf +++ b/etc/examples/formats/iotagent_ul.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = "iotagent_ul" - } + format = "iotagent_ul" + } } diff --git a/etc/examples/formats/json-edgeflex.conf b/etc/examples/formats/json-edgeflex.conf index 5c894286c..df741e823 100644 --- a/etc/examples/formats/json-edgeflex.conf +++ b/etc/examples/formats/json-edgeflex.conf @@ -2,18 +2,18 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "json.edgeflex" + format = { + type = "json.edgeflex" - indent = 4 - compact = true - ensure_ascii = true - escape_slash = false - sort_keys = true - } - } + indent = 4 + compact = true + ensure_ascii = true + escape_slash = false + sort_keys = true + } + } } diff --git a/etc/examples/formats/json-kafka.conf b/etc/examples/formats/json-kafka.conf index 5a7b46341..454058474 100644 --- a/etc/examples/formats/json-kafka.conf +++ b/etc/examples/formats/json-kafka.conf @@ -2,18 +2,18 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "json.kafka" + format = { + type = "json.kafka" - indent = 2 - schema = { - type = "struct" - name = "villas-node.Value" - } - } - } + indent = 2 + schema = { + type = "struct" + name = "villas-node.Value" + } + } + } } diff --git a/etc/examples/formats/json-reserve.conf b/etc/examples/formats/json-reserve.conf index 604d21caa..fd867a446 100644 --- a/etc/examples/formats/json-reserve.conf +++ b/etc/examples/formats/json-reserve.conf @@ -2,18 +2,18 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "json.reserve" + format = { + type = "json.reserve" - indent = 4 - compact = true - ensure_ascii = true - escape_slash = false - sort_keys = true - } - } + indent = 4 + compact = true + ensure_ascii = true + escape_slash = false + sort_keys = true + } + } } diff --git a/etc/examples/formats/json.conf b/etc/examples/formats/json.conf index 0a57d9d6d..17ef3fea0 100644 --- a/etc/examples/formats/json.conf +++ b/etc/examples/formats/json.conf @@ -2,18 +2,18 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "json" + format = { + type = "json" - indent = 4 - compact = true - ensure_ascii = true - escape_slash = false - sort_keys = true - } - } + indent = 4 + compact = true + ensure_ascii = true + escape_slash = false + sort_keys = true + } + } } diff --git a/etc/examples/formats/opal-asyncip.conf b/etc/examples/formats/opal-asyncip.conf index 9860ef48d..11eed1838 100644 --- a/etc/examples/formats/opal-asyncip.conf +++ b/etc/examples/formats/opal-asyncip.conf @@ -2,31 +2,31 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "socket" - layer = "udp" + node = { + type = "socket" + layer = "udp" - format = { - type = "opal.asyncip" + format = { + type = "opal.asyncip" - dev_id = 99 - } + dev_id = 99 + } - in = { - # Port number specified in Asynchronous Process block of RTlab project - address = ":12000" + in = { + # Port number specified in Asynchronous Process block of RTlab project + address = ":12000" - signals = { - count = 64 + signals = { + count = 64 - # The Asynchronous Process block only supports floating point values! - type = "float" - } - } + # The Asynchronous Process block only supports floating point values! + type = "float" + } + } - out = { - # IP address and port of OPAL-RT Target - address = "192.168.0.44:12000" - } - } + out = { + # IP address and port of OPAL-RT Target + address = "192.168.0.44:12000" + } + } } diff --git a/etc/examples/formats/protobuf.conf b/etc/examples/formats/protobuf.conf index bb3ff56d3..b9b546cd1 100644 --- a/etc/examples/formats/protobuf.conf +++ b/etc/examples/formats/protobuf.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = "protobuf" - } + format = "protobuf" + } } diff --git a/etc/examples/formats/raw.conf b/etc/examples/formats/raw.conf index a86d13ceb..6efa55d8d 100644 --- a/etc/examples/formats/raw.conf +++ b/etc/examples/formats/raw.conf @@ -2,16 +2,16 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "raw" + format = { + type = "raw" - bits = 32 - endianess = "little" - fake = false - } - } + bits = 32 + endianess = "little" + fake = false + } + } } diff --git a/etc/examples/formats/tsv.conf b/etc/examples/formats/tsv.conf index 0e6a64bea..1a6bafca2 100644 --- a/etc/examples/formats/tsv.conf +++ b/etc/examples/formats/tsv.conf @@ -2,17 +2,17 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "tsv" + format = { + type = "tsv" - separator = "\t" - delimiter = "\n" - skip_first_line = false - header = true - } - } + separator = "\t" + delimiter = "\n" + skip_first_line = false + header = true + } + } } diff --git a/etc/examples/formats/value.conf b/etc/examples/formats/value.conf index a054c36e4..7fc3143ff 100644 --- a/etc/examples/formats/value.conf +++ b/etc/examples/formats/value.conf @@ -2,14 +2,14 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "value" + format = { + type = "value" - real_precision = 5 - } - } + real_precision = 5 + } + } } diff --git a/etc/examples/formats/villas-binary.conf b/etc/examples/formats/villas-binary.conf index 1346d3f32..01d6eed5e 100644 --- a/etc/examples/formats/villas-binary.conf +++ b/etc/examples/formats/villas-binary.conf @@ -2,14 +2,14 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "villas.binary" + format = { + type = "villas.binary" - source_index = 99 - } - } + source_index = 99 + } + } } diff --git a/etc/examples/formats/villas-human.conf b/etc/examples/formats/villas-human.conf index b5f6fcfa9..a31a1b950 100644 --- a/etc/examples/formats/villas-human.conf +++ b/etc/examples/formats/villas-human.conf @@ -2,15 +2,15 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = { - type = "villas.human" + format = { + type = "villas.human" - comment_prefix = "#" - header = false - } - } + comment_prefix = "#" + header = false + } + } } diff --git a/etc/examples/formats/villas-web.conf b/etc/examples/formats/villas-web.conf index c2439e966..15b89f058 100644 --- a/etc/examples/formats/villas-web.conf +++ b/etc/examples/formats/villas-web.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node = { - type = "file" - uri = "/dev/null" + node = { + type = "file" + uri = "/dev/null" - format = "villas.web" - } + format = "villas.web" + } } diff --git a/etc/examples/global.conf b/etc/examples/global.conf index e3b78ee27..0fbbb653f 100644 --- a/etc/examples/global.conf +++ b/etc/examples/global.conf @@ -11,31 +11,31 @@ ## Global Options affinity = 0x01 # Mask of cores the server should run on - # This also maps the NIC interrupts to those cores! + # This also maps the NIC interrupts to those cores! #priority = 50 # Priority for the server tasks. - # Usually the server is using a real-time FIFO - # scheduling algorithm + # Usually the server is using a real-time FIFO + # scheduling algorithm - # See: https://github.com/docker/docker/issues/22380 - # on why we cant use real-time scheduling in Docker + # See: https://github.com/docker/docker/issues/22380 + # on why we cant use real-time scheduling in Docker name = "villas-acs" # The name of this VILLASnode. Might by used by node-types - # to identify themselves (default is the hostname). + # to identify themselves (default is the hostname). logging = { - level = "debug" # The level of verbosity for debug messages - # One of: "warn", "info", "error", "off", "info" + level = "debug" # The level of verbosity for debug messages + # One of: "warn", "info", "error", "off", "info" - file = "/tmp/villas-node.log" # File for logs - - syslog = true # Log to syslogd + file = "/tmp/villas-node.log" # File for logs + + syslog = true # Log to syslogd } http = { - enabled = true, # Do not listen on port if true + enabled = true, # Do not listen on port if true - port = 80 # Port for HTTP connections + port = 80 # Port for HTTP connections } diff --git a/etc/examples/hooks/average.conf b/etc/examples/hooks/average.conf index 9f03a7eb9..17beca64c 100644 --- a/etc/examples/hooks/average.conf +++ b/etc/examples/hooks/average.conf @@ -4,17 +4,17 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "average" + hooks = ( + { + type = "average" - signals = [ "sine", "square" ] - offset = 0 - } - ) - } + signals = [ "sine", "square" ] + offset = 0 + } + ) + } ) diff --git a/etc/examples/hooks/cast.conf b/etc/examples/hooks/cast.conf index 2b45e9bcd..b23396ffc 100644 --- a/etc/examples/hooks/cast.conf +++ b/etc/examples/hooks/cast.conf @@ -4,20 +4,20 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "cast" + hooks = ( + { + type = "cast" - signal = "random" - - new_name = "int_random" - new_unit = "pts" - new_type = "integer" - } - ) - } + signal = "random" + + new_name = "int_random" + new_unit = "pts" + new_type = "integer" + } + ) + } ) diff --git a/etc/examples/hooks/decimate.conf b/etc/examples/hooks/decimate.conf index 7555fa432..d212fd95e 100644 --- a/etc/examples/hooks/decimate.conf +++ b/etc/examples/hooks/decimate.conf @@ -4,16 +4,16 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "decimate" + hooks = ( + { + type = "decimate" - ratio = 10 - } - ) - } + ratio = 10 + } + ) + } ) diff --git a/etc/examples/hooks/digest.conf b/etc/examples/hooks/digest.conf index 7d8694771..75f7dcf5e 100644 --- a/etc/examples/hooks/digest.conf +++ b/etc/examples/hooks/digest.conf @@ -4,20 +4,20 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - # Use a frame hook to generate NEW_FRAME annotations. - "frame", - { - type = "digest" - # The algorithm used for digest calculation - algorithm = "sha256" - # The output file for digests - uri = "sequence.digest" - } - ) - } + hooks = ( + # Use a frame hook to generate NEW_FRAME annotations. + "frame", + { + type = "digest" + # The algorithm used for digest calculation + algorithm = "sha256" + # The output file for digests + uri = "sequence.digest" + } + ) + } ) diff --git a/etc/examples/hooks/dp.conf b/etc/examples/hooks/dp.conf index 6f897fa4b..a59f54f8f 100644 --- a/etc/examples/hooks/dp.conf +++ b/etc/examples/hooks/dp.conf @@ -4,24 +4,24 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "dp" + hooks = ( + { + type = "dp" - signal = "sine" - f0 = 50 # Hz - dt = 0.1 # seconds - - # Alternative to dt - # rate = 10 Hz + signal = "sine" + f0 = 50 # Hz + dt = 0.1 # seconds - harmonics = [ 0, 1, 3, 5, 7 ] - inverse = false - } - ) - } + # Alternative to dt + # rate = 10 Hz + + harmonics = [ 0, 1, 3, 5, 7 ] + inverse = false + } + ) + } ) diff --git a/etc/examples/hooks/dump.conf b/etc/examples/hooks/dump.conf index 142eaf28c..37322be35 100644 --- a/etc/examples/hooks/dump.conf +++ b/etc/examples/hooks/dump.conf @@ -4,14 +4,14 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "dump" - } - ) - } + hooks = ( + { + type = "dump" + } + ) + } ) diff --git a/etc/examples/hooks/ebm.conf b/etc/examples/hooks/ebm.conf index 58c47f3e0..9f028e81a 100644 --- a/etc/examples/hooks/ebm.conf +++ b/etc/examples/hooks/ebm.conf @@ -4,20 +4,20 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "ebm" + hooks = ( + { + type = "ebm" - phases = ( - [ 0, 1 ], - [ 2, 3 ], - [ 4, 5 ] - ) - } - ) - } + phases = ( + [ 0, 1 ], + [ 2, 3 ], + [ 4, 5 ] + ) + } + ) + } ) diff --git a/etc/examples/hooks/frame.conf b/etc/examples/hooks/frame.conf index 4cd73e016..84918074a 100644 --- a/etc/examples/hooks/frame.conf +++ b/etc/examples/hooks/frame.conf @@ -4,18 +4,18 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "frame" + hooks = ( + { + type = "frame" - trigger = "timestamp" - unit = "seconds" - interval = 10 - } - ) - } + trigger = "timestamp" + unit = "seconds" + interval = 10 + } + ) + } ) diff --git a/etc/examples/hooks/gate.conf b/etc/examples/hooks/gate.conf index 4cb8e848a..36e9df7bb 100644 --- a/etc/examples/hooks/gate.conf +++ b/etc/examples/hooks/gate.conf @@ -4,22 +4,22 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "gate" + hooks = ( + { + type = "gate" - signal = "square" - mode = "above" - threshold = 0.5 - - # Once triggered, keep active for: - duration = 5 # in seconds - samples = 100 # in number of samples - } - ) - } + signal = "square" + mode = "above" + threshold = 0.5 + + # Once triggered, keep active for: + duration = 5 # in seconds + samples = 100 # in number of samples + } + ) + } ) diff --git a/etc/examples/hooks/hook-nodes.conf b/etc/examples/hooks/hook-nodes.conf index 2240af636..66075707a 100644 --- a/etc/examples/hooks/hook-nodes.conf +++ b/etc/examples/hooks/hook-nodes.conf @@ -6,13 +6,13 @@ # of different hooks nodes = { - signal_node = { - type = "signal" - values = 5 - signal = "mixed" - } - file_node = { - type = "file" - uri = "hook_output.log" - } + signal_node = { + type = "signal" + values = 5 + signal = "mixed" + } + file_node = { + type = "file" + uri = "hook_output.log" + } } diff --git a/etc/examples/hooks/ip-dft-pmu.conf b/etc/examples/hooks/ip-dft-pmu.conf index 31de833c9..72dc0523a 100644 --- a/etc/examples/hooks/ip-dft-pmu.conf +++ b/etc/examples/hooks/ip-dft-pmu.conf @@ -4,27 +4,27 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "pmu", + hooks = ( + { + type = "pmu", - signals = ( - "sine" - ) + signals = ( + "sine" + ) - sample_rate = 1000, # sample rate of the input signal - dft_rate = 10, # number of phasors calculated per second + sample_rate = 1000, # sample rate of the input signal + dft_rate = 10, # number of phasors calculated per second - estimation_range = 10, # the range around the nominal_freq in with the estimation is done - nominal_freq = 50, # the nominal grid frequnecy - number_plc = 10., # the number of power line cylces stored in the buffer - - angle_unit = "rad" # one of: rad, degree - } - ) - } + estimation_range = 10, # the range around the nominal_freq in with the estimation is done + nominal_freq = 50, # the nominal grid frequnecy + number_plc = 10., # the number of power line cylces stored in the buffer + + angle_unit = "rad" # one of: rad, degree + } + ) + } ) diff --git a/etc/examples/hooks/jitter_calc.conf b/etc/examples/hooks/jitter_calc.conf index 012633a18..385ea4910 100644 --- a/etc/examples/hooks/jitter_calc.conf +++ b/etc/examples/hooks/jitter_calc.conf @@ -4,14 +4,14 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "jitter_calc" - } - ) - } + hooks = ( + { + type = "jitter_calc" + } + ) + } ) diff --git a/etc/examples/hooks/limit_rate.conf b/etc/examples/hooks/limit_rate.conf index 162e24783..1f2e8c329 100644 --- a/etc/examples/hooks/limit_rate.conf +++ b/etc/examples/hooks/limit_rate.conf @@ -4,16 +4,16 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "limit_rate" + hooks = ( + { + type = "limit_rate" - rate = 5.5 - } - ) - } + rate = 5.5 + } + ) + } ) diff --git a/etc/examples/hooks/limit_value.conf b/etc/examples/hooks/limit_value.conf index 00848b04f..66628bf5e 100644 --- a/etc/examples/hooks/limit_value.conf +++ b/etc/examples/hooks/limit_value.conf @@ -4,19 +4,19 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "limit_value" + hooks = ( + { + type = "limit_value" - min = -0.5 - max = 0.5 + min = -0.5 + max = 0.5 - signals = [ "sine" ] - } - ) - } + signals = [ "sine" ] + } + ) + } ) diff --git a/etc/examples/hooks/lua.conf b/etc/examples/hooks/lua.conf index 49c48000b..ca2adf33f 100644 --- a/etc/examples/hooks/lua.conf +++ b/etc/examples/hooks/lua.conf @@ -6,81 +6,81 @@ stats = 1 paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "lua" + hooks = ( + { + type = "lua" - # Enables or disables the use of signal names in the process() function - # of the Lua script. If disabled, numeric indices will be used. - use_names = true + # Enables or disables the use of signal names in the process() function + # of the Lua script. If disabled, numeric indices will be used. + use_names = true - # The Lua hook will pass the complete hook configuration to the prepare() - # function. So you can add arbitrary settings here which are then - # consumed by the Lua script. - some_setting = "Hello World" - this = { - is = { - nested = 1234 - bool_val = true - } - } + # The Lua hook will pass the complete hook configuration to the prepare() + # function. So you can add arbitrary settings here which are then + # consumed by the Lua script. + some_setting = "Hello World" + this = { + is = { + nested = 1234 + bool_val = true + } + } - # Script mode: we provide a Lua script containing functions - # for the individual hook points - # Define some or all of the following functions in your Lua script: - # - # prepare(cfg) Called during initialization with a Lua table which contains - # the full hook configuration - # start() Called when the node/path is started - # - # stop() Called when the node/path is stopped - # - # restart() Called when the node/path is restarted. - # Falls back to stop() + start() if absent. - # - # process(smp) Called for each sample which is being processed. - # The sample is passed as a Lua table with the following - # fields: - # - sequence The sequence number of the sample. - # - flags The flags field of the sample. - # - ts_origin The origin timestamp as a Lua table containing - # the following keys: - # 0: seconds - # 1: nanoseconds - # - ts_received The receive timestamp a Lua table containing - # the following keys: - # 0: seconds - # 1: nanoseconds - # - data The sample data as a Lua table container either - # numeric indices or the signal names depending - # on the 'use_names' option of the hook. - # - # periodic() Called periodically with the rate of the global 'stats' option. - script = "../lua/hooks/test.lua" + # Script mode: we provide a Lua script containing functions + # for the individual hook points + # Define some or all of the following functions in your Lua script: + # + # prepare(cfg) Called during initialization with a Lua table which contains + # the full hook configuration + # start() Called when the node/path is started + # + # stop() Called when the node/path is stopped + # + # restart() Called when the node/path is restarted. + # Falls back to stop() + start() if absent. + # + # process(smp) Called for each sample which is being processed. + # The sample is passed as a Lua table with the following + # fields: + # - sequence The sequence number of the sample. + # - flags The flags field of the sample. + # - ts_origin The origin timestamp as a Lua table containing + # the following keys: + # 0: seconds + # 1: nanoseconds + # - ts_received The receive timestamp a Lua table containing + # the following keys: + # 0: seconds + # 1: nanoseconds + # - data The sample data as a Lua table container either + # numeric indices or the signal names depending + # on the 'use_names' option of the hook. + # + # periodic() Called periodically with the rate of the global 'stats' option. + script = "../lua/hooks/test.lua" - # Expression mode: We provide a mangled signal list including Lua expressions - signals = ( - { name = "sum", type="float", unit = "V", expression = "smp.data.square * 10" }, + # Expression mode: We provide a mangled signal list including Lua expressions + signals = ( + { name = "sum", type="float", unit = "V", expression = "smp.data.square * 10" }, - # You can access any global variable set by the script - { name = "sequence", type="float", unit = "V", expression = "global_var" }, + # You can access any global variable set by the script + { name = "sequence", type="float", unit = "V", expression = "global_var" }, - # Here we set a global variable from the periodic handler - { name = "temp_aachen", type="float", unit = "°C", expression = "temp_aachen" }, + # Here we set a global variable from the periodic handler + { name = "temp_aachen", type="float", unit = "°C", expression = "temp_aachen" }, - # We can refer to the current time the global Lua variable 't' - { name = "sum", type="float", unit = "V", expression = "math.sin(2 * math.pi * f * t)" }, + # We can refer to the current time the global Lua variable 't' + { name = "sum", type="float", unit = "V", expression = "math.sin(2 * math.pi * f * t)" }, - { name = "random", expression = "smp.data.random" } - ) - }, - { - type = "print" - } - ) - } + { name = "random", expression = "smp.data.random" } + ) + }, + { + type = "print" + } + ) + } ) diff --git a/etc/examples/hooks/ma.conf b/etc/examples/hooks/ma.conf index 8e8d2eeac..de2d925f9 100644 --- a/etc/examples/hooks/ma.conf +++ b/etc/examples/hooks/ma.conf @@ -4,20 +4,20 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "ma", + hooks = ( + { + type = "ma", - window_size = 1000 + window_size = 1000 - signals = [ - "sine" - ] - } - ) - } + signals = [ + "sine" + ] + } + ) + } ) diff --git a/etc/examples/hooks/pmu.conf b/etc/examples/hooks/pmu.conf index e49349ece..b915043ab 100644 --- a/etc/examples/hooks/pmu.conf +++ b/etc/examples/hooks/pmu.conf @@ -4,26 +4,26 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "pmu", + hooks = ( + { + type = "pmu", - signals = ( - "sine" - ) + signals = ( + "sine" + ) - sample_rate = 1000, # sample rate of the input signal - dft_rate = 10, # number of phasors calculated per second + sample_rate = 1000, # sample rate of the input signal + dft_rate = 10, # number of phasors calculated per second - nominal_freq = 50, # the nominal grid frequnecy - number_plc = 10., # the number of power line cylces stored in the buffer - - angle_unit = "rad" # one of: rad, degree - } - ) - } + nominal_freq = 50, # the nominal grid frequnecy + number_plc = 10., # the number of power line cylces stored in the buffer + + angle_unit = "rad" # one of: rad, degree + } + ) + } ) diff --git a/etc/examples/hooks/pmu_dft.conf b/etc/examples/hooks/pmu_dft.conf index 878733238..2b6f21b5d 100644 --- a/etc/examples/hooks/pmu_dft.conf +++ b/etc/examples/hooks/pmu_dft.conf @@ -4,34 +4,34 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "pmu_dft", + hooks = ( + { + type = "pmu_dft", - signals = ( - "sine" - ) + signals = ( + "sine" + ) - sample_rate = 1000, # sample rate of the input signal - dft_rate = 10, # number of phasors calculated per second + sample_rate = 1000, # sample rate of the input signal + dft_rate = 10, # number of phasors calculated per second - start_frequency = 49.7, # lowest frequency bin - end_frequency = 50.3, # highest frequency bin - frequency_resolution = 0.1, # frequency bin resolution + start_frequency = 49.7, # lowest frequency bin + end_frequency = 50.3, # highest frequency bin + frequency_resolution = 0.1, # frequency bin resolution - window_size_factor = 1, # a factor with which the window will be increased - window_type = "hamming", # one of: flattop, hamming, hann - padding_type = "zero", # one of: signal_repeat, zero - frequency_estimate_type = "quadratic", # one of: quadratic + window_size_factor = 1, # a factor with which the window will be increased + window_type = "hamming", # one of: flattop, hamming, hann + padding_type = "zero", # one of: signal_repeat, zero + frequency_estimate_type = "quadratic", # one of: quadratic - pps_index = 0, # signal index of the PPS signal - - angle_unit = "rad" # one of: rad, degree - } - ) - } + pps_index = 0, # signal index of the PPS signal + + angle_unit = "rad" # one of: rad, degree + } + ) + } ) diff --git a/etc/examples/hooks/power.conf b/etc/examples/hooks/power.conf index bb277b558..f5f86144e 100644 --- a/etc/examples/hooks/power.conf +++ b/etc/examples/hooks/power.conf @@ -4,28 +4,28 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "power", - angle_unit = "degree" - window_size = 1000 - timestamp_align = "center" - pairings = ( - {voltage = "voltage_l1", current = "current_l1"}, - {voltage = "voltage_l2", current = "current_l2"} - ) + hooks = ( + { + type = "power", + angle_unit = "degree" + window_size = 1000 + timestamp_align = "center" + pairings = ( + {voltage = "voltage_l1", current = "current_l1"}, + {voltage = "voltage_l2", current = "current_l2"} + ) - signals = [ - "voltage_l1", - "voltage_l2", - "current_l1", - "current_l2" - ] - } - ) - } + signals = [ + "voltage_l1", + "voltage_l2", + "current_l1", + "current_l2" + ] + } + ) + } ) diff --git a/etc/examples/hooks/pps_ts.conf b/etc/examples/hooks/pps_ts.conf index ea9132d02..2ca5e0816 100644 --- a/etc/examples/hooks/pps_ts.conf +++ b/etc/examples/hooks/pps_ts.conf @@ -4,22 +4,22 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "pps_ts" + hooks = ( + { + type = "pps_ts" - signal = "pps" + signal = "pps" - mode = "simple" # Oneof: simple, horizon - threshold = 0.5 - expected_smp_rate = 5e3 - horizon_estimation = 10 - horizon_compensation = 10 - } - ) - } + mode = "simple" # Oneof: simple, horizon + threshold = 0.5 + expected_smp_rate = 5e3 + horizon_estimation = 10 + horizon_compensation = 10 + } + ) + } ) diff --git a/etc/examples/hooks/print.conf b/etc/examples/hooks/print.conf index 5ed4aba09..9cb197349 100644 --- a/etc/examples/hooks/print.conf +++ b/etc/examples/hooks/print.conf @@ -4,18 +4,18 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "print", + hooks = ( + { + type = "print", - output = "print_output_file.log" - format = "villas.human" - # prefix = "[file_node] " # prefix and output are exclusive settings! - } - ) - } + output = "print_output_file.log" + format = "villas.human" + # prefix = "[file_node] " # prefix and output are exclusive settings! + } + ) + } ) diff --git a/etc/examples/hooks/reorder_ts.conf b/etc/examples/hooks/reorder_ts.conf index 405aaaa98..33b80c1b8 100644 --- a/etc/examples/hooks/reorder_ts.conf +++ b/etc/examples/hooks/reorder_ts.conf @@ -4,16 +4,16 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "reorder_ts" + hooks = ( + { + type = "reorder_ts" - window_size = 10 - } - ) - } + window_size = 10 + } + ) + } ) diff --git a/etc/examples/hooks/rms.conf b/etc/examples/hooks/rms.conf index a57398004..0c54c3413 100644 --- a/etc/examples/hooks/rms.conf +++ b/etc/examples/hooks/rms.conf @@ -4,20 +4,20 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "rms", + hooks = ( + { + type = "rms", - window_size = 1000 + window_size = 1000 - signals = [ - "sine" - ] - } - ) - } + signals = [ + "sine" + ] + } + ) + } ) diff --git a/etc/examples/hooks/round.conf b/etc/examples/hooks/round.conf index 5f69b5b55..7a0f6d93b 100644 --- a/etc/examples/hooks/round.conf +++ b/etc/examples/hooks/round.conf @@ -4,17 +4,17 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "round" + hooks = ( + { + type = "round" - signal = "sine" - precision = 4 - } - ) - } + signal = "sine" + precision = 4 + } + ) + } ) diff --git a/etc/examples/hooks/scale.conf b/etc/examples/hooks/scale.conf index 94d59c874..c86b8de58 100644 --- a/etc/examples/hooks/scale.conf +++ b/etc/examples/hooks/scale.conf @@ -4,19 +4,19 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "scale" + hooks = ( + { + type = "scale" - signal = "sine" + signal = "sine" - offset = 100.0 - scale = 55.0 - } - ) - } + offset = 100.0 + scale = 55.0 + } + ) + } ) diff --git a/etc/examples/hooks/shift_seq.conf b/etc/examples/hooks/shift_seq.conf index c32e32ee4..90a25b284 100644 --- a/etc/examples/hooks/shift_seq.conf +++ b/etc/examples/hooks/shift_seq.conf @@ -4,16 +4,16 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "shift_seq" + hooks = ( + { + type = "shift_seq" - offset = 10 - } - ) - } + offset = 10 + } + ) + } ) diff --git a/etc/examples/hooks/shift_ts.conf b/etc/examples/hooks/shift_ts.conf index 4c4448c91..440f1effa 100644 --- a/etc/examples/hooks/shift_ts.conf +++ b/etc/examples/hooks/shift_ts.conf @@ -4,17 +4,17 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "shift_ts" + hooks = ( + { + type = "shift_ts" - mode = "origin" - offset = 5.5 - } - ) - } + mode = "origin" + offset = 5.5 + } + ) + } ) diff --git a/etc/examples/hooks/skip_first.conf b/etc/examples/hooks/skip_first.conf index 348b8328c..8df3549fe 100644 --- a/etc/examples/hooks/skip_first.conf +++ b/etc/examples/hooks/skip_first.conf @@ -4,17 +4,17 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "skip_first" + hooks = ( + { + type = "skip_first" - seconds = 10 - # sequence = 10 - } - ) - } + seconds = 10 + # sequence = 10 + } + ) + } ) diff --git a/etc/examples/hooks/stats.conf b/etc/examples/hooks/stats.conf index 1523343ef..983498f1a 100644 --- a/etc/examples/hooks/stats.conf +++ b/etc/examples/hooks/stats.conf @@ -2,27 +2,27 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node = { - type = "socket" + udp_node = { + type = "socket" - in = { - address = "*:12000" + in = { + address = "*:12000" - hooks = ( - { - type = "stats" + hooks = ( + { + type = "stats" - verbose = true - warmup = 100 - buckets = 25 + verbose = true + warmup = 100 + buckets = 25 - output = "stats.log" - format = "json" - } - ) - } - out = { - address = "127.0.0.1:12000" - } - } + output = "stats.log" + format = "json" + } + ) + } + out = { + address = "127.0.0.1:12000" + } + } } diff --git a/etc/examples/hooks/ts.conf b/etc/examples/hooks/ts.conf index c25f9ca7e..d7de38ce6 100644 --- a/etc/examples/hooks/ts.conf +++ b/etc/examples/hooks/ts.conf @@ -4,14 +4,14 @@ @include "hook-nodes.conf" paths = ( - { - in = "signal_node" - out = "file_node" + { + in = "signal_node" + out = "file_node" - hooks = ( - { - type = "ts" - } - ) - } + hooks = ( + { + type = "ts" + } + ) + } ) diff --git a/etc/examples/nodes/amqp.conf b/etc/examples/nodes/amqp.conf index 1fa1133e5..fc1573076 100644 --- a/etc/examples/nodes/amqp.conf +++ b/etc/examples/nodes/amqp.conf @@ -2,30 +2,30 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - amqp_node = { - type = "amqp", - format = "json", + amqp_node = { + type = "amqp", + format = "json", - # Use 'amqps://' to enable SSL/TLS - uri = "amqp://username:password@example.com:1234/vhost", + # Use 'amqps://' to enable SSL/TLS + uri = "amqp://username:password@example.com:1234/vhost", - # Alternatively connection settings can be specified individually - username = "guest", - password = "guest", - host = "localhost", - vhost = "/", - port = 5672, + # Alternatively connection settings can be specified individually + username = "guest", + password = "guest", + host = "localhost", + vhost = "/", + port = 5672, - exchange = "mytestexchange", - routing_key = "abc", + exchange = "mytestexchange", + routing_key = "abc", - ssl = { - verify_hostname = true, - verify_peer = true, + ssl = { + verify_hostname = true, + verify_peer = true, - ca_cert = "/path/to/ca.crt", - client_cert = "/path/to/client.crt", - client_key = "/path/to/client.key" - } - } + ca_cert = "/path/to/ca.crt", + client_cert = "/path/to/client.crt", + client_key = "/path/to/client.key" + } + } } diff --git a/etc/examples/nodes/api.conf b/etc/examples/nodes/api.conf index a72ab1a19..35ed51237 100644 --- a/etc/examples/nodes/api.conf +++ b/etc/examples/nodes/api.conf @@ -2,32 +2,32 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - api_node = { - type = "api" + api_node = { + type = "api" - in = { - signals = ( - { - name = "" # Same as 'id' in uAPI context - description = "Volts on Bus A" # A human readable description of the channel - type = "float" # Same as 'datatype' in uAPI context - unit = "V" - payload = "events" # or 'samples' - rate = 100.0 # An expected refresh/sample rate of the signal - range = { - min = 20.0 - max = 100.0 - } - readable = true - writable = false - } - ) - } + in = { + signals = ( + { + name = "" # Same as 'id' in uAPI context + description = "Volts on Bus A" # A human readable description of the channel + type = "float" # Same as 'datatype' in uAPI context + unit = "V" + payload = "events" # or 'samples' + rate = 100.0 # An expected refresh/sample rate of the signal + range = { + min = 20.0 + max = 100.0 + } + readable = true + writable = false + } + ) + } - out = { - signals = ( - # Similar to above - ) - } - } + out = { + signals = ( + # Similar to above + ) + } + } } diff --git a/etc/examples/nodes/can.conf b/etc/examples/nodes/can.conf index 582eecb21..52b0933f3 100644 --- a/etc/examples/nodes/can.conf +++ b/etc/examples/nodes/can.conf @@ -2,64 +2,64 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - can_node1 = { - type = "can" - interface_name = "vcan0" - sample_rate = 500000 + can_node1 = { + type = "can" + interface_name = "vcan0" + sample_rate = 500000 - in = { - signals = ( - { - name = "sigin1", - unit = "Volts", - type = "float", - enabled = true, - can_id = 66, - can_size = 4, - can_offset = 0 - }, - { - name = "sigin2", - unit = "Volts", - type = "float", - enabled = true, - can_id = 66, - can_size = 4, - can_offset = 4 - }, - { - name = "sigin3", - unit = "Volts", - type = "float", - enabled = true, - can_id = 67, - can_size = 8, - can_offset = 0 - } - ) - } + in = { + signals = ( + { + name = "sigin1", + unit = "Volts", + type = "float", + enabled = true, + can_id = 66, + can_size = 4, + can_offset = 0 + }, + { + name = "sigin2", + unit = "Volts", + type = "float", + enabled = true, + can_id = 66, + can_size = 4, + can_offset = 4 + }, + { + name = "sigin3", + unit = "Volts", + type = "float", + enabled = true, + can_id = 67, + can_size = 8, + can_offset = 0 + } + ) + } - out = { - signals = ( - { - type = "float", - can_id = 66, - can_size = 4, - can_offset = 0 - }, - { - type = "float", - can_id = 66, - can_size = 4, - can_offset = 4 - }, - { - type = "float", - can_id = 67, - can_size = 8, - can_offset = 0 - } - ) - } - } + out = { + signals = ( + { + type = "float", + can_id = 66, + can_size = 4, + can_offset = 0 + }, + { + type = "float", + can_id = 66, + can_size = 4, + can_offset = 4 + }, + { + type = "float", + can_id = 67, + can_size = 8, + can_offset = 0 + } + ) + } + } } diff --git a/etc/examples/nodes/comedi.conf b/etc/examples/nodes/comedi.conf index 9b4e563e0..d84679849 100644 --- a/etc/examples/nodes/comedi.conf +++ b/etc/examples/nodes/comedi.conf @@ -2,84 +2,84 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - pcie6259 = { - type = "comedi", + pcie6259 = { + type = "comedi", - device = "/dev/comedi0", - in = { - subdevice = 0, - rate = 1000, - - signals = ( - # note: order in this array defines order in villas sample - { channel = 0, range = 0, aref = 0, name = "temperature_int" }, - { channel = 1, range = 0, aref = 0, name = "loopback_ao0" }, - { channel = 2, range = 0, aref = 0, name = "loopback_ao1" }, - { channel = 3, range = 0, aref = 0, name = "bnc_ext" } - ) - }, - out = { - subdevice = 1, - # Note: buffer size and rate shouldn't be changed at the moment - # output sample rate - rate = 40000, - # comedi write buffer in kilobytes - bufsize = 24, - - signals = ( - # note: order in this array corresponds to order in villas sample - { name = "ao0", channel = 0, range = 0, aref = 0 }, - { name = "ao1", channel = 1, range = 0, aref = 0 }, - { name = "ao2", channel = 2, range = 0, aref = 0 }, - { name = "ao3", channel = 3, range = 0, aref = 0 } - ) - } - }, + device = "/dev/comedi0", + in = { + subdevice = 0, + rate = 1000, - remote = { - type = "socket", - layer = "udp" - format = "protobuf", - - in = { - address = "*:12000" - }, - out = { - address = "134.130.169.32:12000" - } - }, + signals = ( + # note: order in this array defines order in villas sample + { channel = 0, range = 0, aref = 0, name = "temperature_int" }, + { channel = 1, range = 0, aref = 0, name = "loopback_ao0" }, + { channel = 2, range = 0, aref = 0, name = "loopback_ao1" }, + { channel = 3, range = 0, aref = 0, name = "bnc_ext" } + ) + }, + out = { + subdevice = 1, + # Note: buffer size and rate shouldn't be changed at the moment + # output sample rate + rate = 40000, + # comedi write buffer in kilobytes + bufsize = 24, - sine1 = { - type = "signal", - signal = "sine", - values = 1, - frequency = 50, - rate = 10000, - }, + signals = ( + # note: order in this array corresponds to order in villas sample + { name = "ao0", channel = 0, range = 0, aref = 0 }, + { name = "ao1", channel = 1, range = 0, aref = 0 }, + { name = "ao2", channel = 2, range = 0, aref = 0 }, + { name = "ao3", channel = 3, range = 0, aref = 0 } + ) + } + }, - sine2 = { - type = "signal", - signal = "sine", - values = 1, - frequency = 100, - rate = 10000, - } + remote = { + type = "socket", + layer = "udp" + format = "protobuf", + + in = { + address = "*:12000" + }, + out = { + address = "134.130.169.32:12000" + } + }, + + sine1 = { + type = "signal", + signal = "sine", + values = 1, + frequency = 50, + rate = 10000, + }, + + sine2 = { + type = "signal", + signal = "sine", + values = 1, + frequency = 100, + rate = 10000, + } } paths = ( - # 2-ch sine - # { - # in = [ "sine1.data[0]", "sine2.data[0]" ] - # out = "pcie6259" - # rate = 10000 - # mask = () - # } + # 2-ch sine + # { + # in = [ "sine1.data[0]", "sine2.data[0]" ] + # out = "pcie6259" + # rate = 10000 + # mask = () + # } - # Remote data via UDP - { - in = "remote.data[0-3]" - out = "pcie6259" - rate = 40000 - mask = () - } + # Remote data via UDP + { + in = "remote.data[0-3]" + out = "pcie6259" + rate = 40000 + mask = () + } ) diff --git a/etc/examples/nodes/ethercat.conf b/etc/examples/nodes/ethercat.conf index c60b4433a..acca7e394 100644 --- a/etc/examples/nodes/ethercat.conf +++ b/etc/examples/nodes/ethercat.conf @@ -2,44 +2,44 @@ # SPDX-License-Identifier: Apache-2.0 ethercat = { - coupler = { - position = 0 - vendor_id = 0x00000002 # Backhoff - product_code = 0x044c2c52 # EK1100 - } + coupler = { + position = 0 + vendor_id = 0x00000002 # Backhoff + product_code = 0x044c2c52 # EK1100 + } - alias = 0 - master = 0 + alias = 0 + master = 0 } nodes = { - ethercat_node = { - type = "ethercat" + ethercat_node = { + type = "ethercat" - rate = 1000.0 # Rate of master cyclic task + rate = 1000.0 # Rate of master cyclic task - # Analog Input Slave - in = { - num_channels = 8 - range = 10.0 # -10.0 V to +10.0 V + # Analog Input Slave + in = { + num_channels = 8 + range = 10.0 # -10.0 V to +10.0 V - position = 2 - vendor_id = 0x00000002 # Beckhoff - product_code = 0x0bc03052 # EL3008 + position = 2 + vendor_id = 0x00000002 # Beckhoff + product_code = 0x0bc03052 # EL3008 - # PDOs are currently hardcoded! - } + # PDOs are currently hardcoded! + } - # Analog Output Slave - out = { - num_channels = 8 - range = 10.0 # -10.0 V to +10.0 V + # Analog Output Slave + out = { + num_channels = 8 + range = 10.0 # -10.0 V to +10.0 V - position = 1 - vendor_id = 0x00000002 # Beckhoff - product_code = 0x0fc63052 # EL4038 + position = 1 + vendor_id = 0x00000002 # Beckhoff + product_code = 0x0fc63052 # EL4038 - # PDOs are currently hardcoded! - } - } + # PDOs are currently hardcoded! + } + } } diff --git a/etc/examples/nodes/example.conf b/etc/examples/nodes/example.conf index 272e9e86f..73a0501a1 100644 --- a/etc/examples/nodes/example.conf +++ b/etc/examples/nodes/example.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - example_node = { - type = "example" + example_node = { + type = "example" - setting1 = 1 - setting2 = "abc" - } + setting1 = 1 + setting2 = "abc" + } } diff --git a/etc/examples/nodes/exec.conf b/etc/examples/nodes/exec.conf index 0c39377ad..e293b0758 100644 --- a/etc/examples/nodes/exec.conf +++ b/etc/examples/nodes/exec.conf @@ -2,15 +2,15 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - exec_node = { - type = "exec" - format = "villas.human" - flush = true - exec = "tee test" - shell = true - working_directory = "/tmp" - environment = { - MYVAR = "TESTVAL" - } - } + exec_node = { + type = "exec" + format = "villas.human" + flush = true + exec = "tee test" + shell = true + working_directory = "/tmp" + environment = { + MYVAR = "TESTVAL" + } + } } diff --git a/etc/examples/nodes/file.conf b/etc/examples/nodes/file.conf index 16ca5366b..d64c6b880 100644 --- a/etc/examples/nodes/file.conf +++ b/etc/examples/nodes/file.conf @@ -2,32 +2,32 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - file_node = { - type = "file" + file_node = { + type = "file" - ### The following settings are specific to the file node-type!! ### + ### The following settings are specific to the file node-type!! ### - uri = "logs/input.log", # These options specify the URI where the the files are stored - #uri = "logs/output_%F_%T.log" # The URI accepts all format tokens of (see strftime(3)) + uri = "logs/input.log", # These options specify the URI where the the files are stored + #uri = "logs/output_%F_%T.log" # The URI accepts all format tokens of (see strftime(3)) - format = "csv" + format = "csv" - in = { - epoch_mode = "direct" # One of: direct (default), wait, relative, absolute - epoch = 10 # The interpretation of this value depends on epoch_mode (default is 0). - # Consult the documentation of a full explanation + in = { + epoch_mode = "direct" # One of: direct (default), wait, relative, absolute + epoch = 10 # The interpretation of this value depends on epoch_mode (default is 0). + # Consult the documentation of a full explanation - rate = 2.0 # A constant rate at which the lines of the input files should be read - # A missing or zero value will use the timestamp in the first column - # of the file to determine the pause between consecutive lines. - eof = "rewind" # Rewind the file and start from the beginning. + rate = 2.0 # A constant rate at which the lines of the input files should be read + # A missing or zero value will use the timestamp in the first column + # of the file to determine the pause between consecutive lines. + eof = "rewind" # Rewind the file and start from the beginning. - buffer_size = 0 # Creates a stream buffer if value is positive - }, - out = { - flush = false # Flush or upload contents of the file every time new samples are sent. + buffer_size = 0 # Creates a stream buffer if value is positive + }, + out = { + flush = false # Flush or upload contents of the file every time new samples are sent. - buffer_size = 0 # Creates a stream buffer if value is positive - } - } + buffer_size = 0 # Creates a stream buffer if value is positive + } + } } diff --git a/etc/examples/nodes/fpga.conf b/etc/examples/nodes/fpga.conf index e7ba7b1a3..e768cc183 100644 --- a/etc/examples/nodes/fpga.conf +++ b/etc/examples/nodes/fpga.conf @@ -2,32 +2,32 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } fpgas = { - vc707 = { - interface = "pcie", - id = "10ee:7021", - slot = "0000:88:00.0", - do_reset = true, - ips = "../../../fpga/etc/vc707-xbar-pcie/vc707-xbar-pcie.json", - polling = false, - } + vc707 = { + interface = "pcie", + id = "10ee:7021", + slot = "0000:88:00.0", + do_reset = true, + ips = "../../../fpga/etc/vc707-xbar-pcie/vc707-xbar-pcie.json", + polling = false, + } } nodes = { - fpga_0 = { - type = "fpga", - card = "vc707" - connect = ["0->3", "3->dma", "0<-dma"] - } + fpga_0 = { + type = "fpga", + card = "vc707" + connect = ["0->3", "3->dma", "0<-dma"] + } } paths = ( - { - in = "fpga_0" - out = "fpga_0" - hooks = ({ type = "print"}) - } + { + in = "fpga_0" + out = "fpga_0" + hooks = ({ type = "print"}) + } ) diff --git a/etc/examples/nodes/iec60870-5-104-sequence.conf b/etc/examples/nodes/iec60870-5-104-sequence.conf index d10e1d057..b5e3ae12a 100644 --- a/etc/examples/nodes/iec60870-5-104-sequence.conf +++ b/etc/examples/nodes/iec60870-5-104-sequence.conf @@ -3,23 +3,23 @@ nodes = { iec104_node_seq = { - type = "iec60870-5-104" - address = "0.0.0.0" - port = 2404 - ca = 1 - out = { - # Create a sequence of 5 floats with identical IOAs - signals = { - asdu_type_id = "M_ME_NA_1" - ioa = 4202852 - count = 5 - } + type = "iec60870-5-104" + address = "0.0.0.0" + port = 2404 + ca = 1 + out = { + # Create a sequence of 5 floats with identical IOAs + signals = { + asdu_type_id = "M_ME_NA_1" + ioa = 4202852 + count = 5 + } - # Interpret the duplicate IOAs as a sequence by incrementing the - # IOA with each duplication. This only applies to two adjacent - # signals with the same IOA. Specifying an IOA twice with other - # IOAs inbetween is an error. - duplicate_ioa_is_sequence = true - } - } + # Interpret the duplicate IOAs as a sequence by incrementing the + # IOA with each duplication. This only applies to two adjacent + # signals with the same IOA. Specifying an IOA twice with other + # IOAs inbetween is an error. + duplicate_ioa_is_sequence = true + } + } } diff --git a/etc/examples/nodes/iec60870-5-104.conf b/etc/examples/nodes/iec60870-5-104.conf index f0711c899..66e4943c5 100644 --- a/etc/examples/nodes/iec60870-5-104.conf +++ b/etc/examples/nodes/iec60870-5-104.conf @@ -4,46 +4,46 @@ nodes = { iec104_node = { - type = "iec60870-5-104" + type = "iec60870-5-104" - # Network address and port of the server - # 0.0.0.0 listens on all interfaces - address = "0.0.0.0" - port = 2404 - - # Common address of this IEC104 slave - ca = 41025 - - # Queue sizes for this node - low_priority_queue = 100 - high_priority_queue = 100 + # Network address and port of the server + # 0.0.0.0 listens on all interfaces + address = "0.0.0.0" + port = 2404 - out = { - # Map signals to information object addresses and ASDU data types - # one ASDU per specified asdu_type_id/asdu_type+with_timestamp is - # send for each sample. Signals of the same type are collected - # in a single ASDU. - signals = ( - { - # The ASDU data type - asdu_type = "normalized-float" - # add 56 bit unix timestamp to ASDU - with_timestamp = false - # the information object address of this signal - ioa = 4202832 - }, - { - # Equivalent to the asdu_type above - asdu_type_id = "M_ME_NA_1" - ioa = 4202852 - }, - { - # A boolean value - asdu_type = "single-point" - with_timestamp = true - ioa = 4206948 - } - ) - } - } + # Common address of this IEC104 slave + ca = 41025 + + # Queue sizes for this node + low_priority_queue = 100 + high_priority_queue = 100 + + out = { + # Map signals to information object addresses and ASDU data types + # one ASDU per specified asdu_type_id/asdu_type+with_timestamp is + # send for each sample. Signals of the same type are collected + # in a single ASDU. + signals = ( + { + # The ASDU data type + asdu_type = "normalized-float" + # add 56 bit unix timestamp to ASDU + with_timestamp = false + # the information object address of this signal + ioa = 4202832 + }, + { + # Equivalent to the asdu_type above + asdu_type_id = "M_ME_NA_1" + ioa = 4202852 + }, + { + # A boolean value + asdu_type = "single-point" + with_timestamp = true + ioa = 4206948 + } + ) + } + } } diff --git a/etc/examples/nodes/iec61850-8-1.conf b/etc/examples/nodes/iec61850-8-1.conf index 9b77ca4b8..2fbbab3f9 100644 --- a/etc/examples/nodes/iec61850-8-1.conf +++ b/etc/examples/nodes/iec61850-8-1.conf @@ -3,145 +3,145 @@ nodes = { - goose = { - type = "iec61850-8-1" + goose = { + type = "iec61850-8-1" - out = { - # Ethernet interface to publish on - interface = "lo" + out = { + # Ethernet interface to publish on + interface = "lo" - # Array of goose publisher definitions - publishers = ( - { - # Mandatory GOOSE publisher meta data - go_id = "AA1J1Q01A3LD0/LLN0.gcbdata" - go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbdata" - data_set_ref = "AA1J1Q01A3LD0/LLN0$data" - dst_address = "01:0c:cd:01:00:00" - app_id = 2 - conf_rev = 100 - time_allowed_to_live = 11000 + # Array of goose publisher definitions + publishers = ( + { + # Mandatory GOOSE publisher meta data + go_id = "AA1J1Q01A3LD0/LLN0.gcbdata" + go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbdata" + data_set_ref = "AA1J1Q01A3LD0/LLN0$data" + dst_address = "01:0c:cd:01:00:00" + app_id = 2 + conf_rev = 100 + time_allowed_to_live = 11000 - # Payload description with either constant data or values from a signal - data = ( - { - # Mandatory MMS type - mms_type = "boolean" + # Payload description with either constant data or values from a signal + data = ( + { + # Mandatory MMS type + mms_type = "boolean" - # Name of the signal in the array below - signal = "ABB_cascade_state" - }, - { - # Mandatory MMS type - mms_type = "bitstring" + # Name of the signal in the array below + signal = "ABB_cascade_state" + }, + { + # Mandatory MMS type + mms_type = "bitstring" - # Type meta data - mms_bitstring_size = 13 + # Type meta data + mms_bitstring_size = 13 - # Constant value - value = 2048 - } - ) - }, - { - go_id = "AA1J1Q01A3LD0/LLN0.gcbDataset_1" - go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbDataset_1" - data_set_ref = "AA1J1Q01A3LD0/LLN0$Dataset_1" - dst_address = "01:0c:cd:01:00:01" - app_id = 1 - conf_rev = 300 - time_allowed_to_live = 22000 - data = ( - { - mms_type = "boolean" - signal = "ABB_cascade_state" - }, - { - mms_type = "bitstring" - mms_bitstring_size = 13 - value = 2048 - }, - { - mms_type = "bitstring" - mms_bitstring_size = 2 - value = 0 - }, - { - mms_type = "bitstring" - mms_bitstring_size = 13 - value = 2048 - }, - { - mms_type = "bitstring" - mms_bitstring_size = 13 - value = 2048 - }, - { - mms_type = "bitstring" - mms_bitstring_size = 2 - value = 0 - } - ) - } - ) - signals = ( - { - # The signal name used to identify the signal in a publishers data field - name = "ABB_cascade_state" - type = "boolean" - } - ) - } + # Constant value + value = 2048 + } + ) + }, + { + go_id = "AA1J1Q01A3LD0/LLN0.gcbDataset_1" + go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbDataset_1" + data_set_ref = "AA1J1Q01A3LD0/LLN0$Dataset_1" + dst_address = "01:0c:cd:01:00:01" + app_id = 1 + conf_rev = 300 + time_allowed_to_live = 22000 + data = ( + { + mms_type = "boolean" + signal = "ABB_cascade_state" + }, + { + mms_type = "bitstring" + mms_bitstring_size = 13 + value = 2048 + }, + { + mms_type = "bitstring" + mms_bitstring_size = 2 + value = 0 + }, + { + mms_type = "bitstring" + mms_bitstring_size = 13 + value = 2048 + }, + { + mms_type = "bitstring" + mms_bitstring_size = 13 + value = 2048 + }, + { + mms_type = "bitstring" + mms_bitstring_size = 2 + value = 0 + } + ) + } + ) + signals = ( + { + # The signal name used to identify the signal in a publishers data field + name = "ABB_cascade_state" + type = "boolean" + } + ) + } - in = { - # Ethernet interface to listen on - interface = "lo" + in = { + # Ethernet interface to listen on + interface = "lo" - # Use the goose timestamp for a sample - with_timestamp = true + # Use the goose timestamp for a sample + with_timestamp = true - # List of named subscriber definitions - subscribers = { - relay = { - # Mandatory GoCbRef - go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbdata" + # List of named subscriber definitions + subscribers = { + relay = { + # Mandatory GoCbRef + go_cb_ref = "AA1J1Q01A3LD0/LLN0$GO$gcbdata" - # Optional filter by packet destination MAC address - dst_address = "01:0c:cd:01:00:00" + # Optional filter by packet destination MAC address + dst_address = "01:0c:cd:01:00:00" - # Optional filter by AppID - app_id = 2 + # Optional filter by AppID + app_id = 2 - # Optional trigger specification (either "always" or "change") - # - # "always" = emit an updated sample for each incoming GOOSE message - # "change" = only emit an updated sample when SqNum is 0 - trigger = "change" - } - } + # Optional trigger specification (either "always" or "change") + # + # "always" = emit an updated sample for each incoming GOOSE message + # "change" = only emit an updated sample when SqNum is 0 + trigger = "change" + } + } - signals = ( - { - name = "ABB_relay_state" - type = "boolean" + signals = ( + { + name = "ABB_relay_state" + type = "boolean" - # Mandatory MmsType specification - mms_type = "boolean" + # Mandatory MmsType specification + mms_type = "boolean" - # Mandatory subscriber name - subscriber = "relay" + # Mandatory subscriber name + subscriber = "relay" - # Mandatory index within the received vector of GOOSE values - index = 0 - }, - { - name = "ABB_relay_state_meta_bitset" - type = "integer" - mms_type = "bitstring" - subscriber = "relay" - index = 1 - } - ) - } - } + # Mandatory index within the received vector of GOOSE values + index = 0 + }, + { + name = "ABB_relay_state_meta_bitset" + type = "integer" + mms_type = "bitstring" + subscriber = "relay" + index = 1 + } + ) + } + } } diff --git a/etc/examples/nodes/iec61850-9-2.conf b/etc/examples/nodes/iec61850-9-2.conf index 9f316762f..d7318fb4e 100644 --- a/etc/examples/nodes/iec61850-9-2.conf +++ b/etc/examples/nodes/iec61850-9-2.conf @@ -2,31 +2,31 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - sampled_values_node = { - type = "iec61850-9-2", + sampled_values_node = { + type = "iec61850-9-2", - interface = "lo", - dst_address = "01:0c:cd:01:00:01", - - out = { - signals = ( - { iec_type = "float32" }, - { iec_type = "float64" }, - { iec_type = "int8" }, - { iec_type = "int32" } - ) - - svid = "test1234", - smpmod = "samples_per_second", - confrev = 55 - }, - in = { - signals = ( - { iec_type = "float32" }, - { iec_type = "float64" }, - { iec_type = "int8" }, - { iec_type = "int32" } - ) - } - } + interface = "lo", + dst_address = "01:0c:cd:01:00:01", + + out = { + signals = ( + { iec_type = "float32" }, + { iec_type = "float64" }, + { iec_type = "int8" }, + { iec_type = "int32" } + ) + + svid = "test1234", + smpmod = "samples_per_second", + confrev = 55 + }, + in = { + signals = ( + { iec_type = "float32" }, + { iec_type = "float64" }, + { iec_type = "int8" }, + { iec_type = "int32" } + ) + } + } } diff --git a/etc/examples/nodes/infiniband.conf b/etc/examples/nodes/infiniband.conf index 61a444083..ed4675afb 100644 --- a/etc/examples/nodes/infiniband.conf +++ b/etc/examples/nodes/infiniband.conf @@ -2,73 +2,73 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - results = { - type = "file", + results = { + type = "file", - uri = "logs/ib_results-%Y%m%d_%H-%M-%S.log", - }, + uri = "logs/ib_results-%Y%m%d_%H-%M-%S.log", + }, - siggen = { - type = "signal", + siggen = { + type = "signal", - signal = "mixed", - values = 3, - frequency = 3.0, - rate = 100000.0, - limit = 100000, - }, + signal = "mixed", + values = 3, + frequency = 3.0, + rate = 100000.0, + limit = 100000, + }, - ib_node_source = { - type = "infiniband", + ib_node_source = { + type = "infiniband", - rdma_port_space = "RC", - - in = { - address = "10.0.0.2:1337", + rdma_port_space = "RC", - max_wrs = 8192, - cq_size = 8192, + in = { + address = "10.0.0.2:1337", - vectorize = 1, + max_wrs = 8192, + cq_size = 8192, - buffer_subtraction = 128, - }, + vectorize = 1, - out = { - address = "10.0.0.1:1337", - resolution_timeout = 1000, - - max_wrs = 8192, - cq_size = 256, + buffer_subtraction = 128, + }, - vectorize = 1, + out = { + address = "10.0.0.1:1337", + resolution_timeout = 1000, - send_inline = true, - max_inline_data = 60, + max_wrs = 8192, + cq_size = 256, - use_fallback = true, - } - } + vectorize = 1, - ib_node_target = { - type = "infiniband", + send_inline = true, + max_inline_data = 60, - rdma_port_space = "RC", + use_fallback = true, + } + } - in = { - address = "10.0.0.1:1337", + ib_node_target = { + type = "infiniband", - max_wrs = 8192, - cq_size = 8192, + rdma_port_space = "RC", - vectorize = 1, + in = { + address = "10.0.0.1:1337", - buffer_subtraction = 128, + max_wrs = 8192, + cq_size = 8192, - hooks = ( - { type = "stats", verbose = true } - ) - } - } + vectorize = 1, + + buffer_subtraction = 128, + + hooks = ( + { type = "stats", verbose = true } + ) + } + } } diff --git a/etc/examples/nodes/influxdb.conf b/etc/examples/nodes/influxdb.conf index b4f0ed806..d2b10198c 100644 --- a/etc/examples/nodes/influxdb.conf +++ b/etc/examples/nodes/influxdb.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - influxdb_node = { - type = "influxdb", + influxdb_node = { + type = "influxdb", - server = "localhost:8089", - key = "villas" - } + server = "localhost:8089", + key = "villas" + } } diff --git a/etc/examples/nodes/kafka.conf b/etc/examples/nodes/kafka.conf index 7ca158fff..8179982b7 100644 --- a/etc/examples/nodes/kafka.conf +++ b/etc/examples/nodes/kafka.conf @@ -2,30 +2,30 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - kafka_node = { - type = "kafka", - - format = "json.kafka", + kafka_node = { + type = "kafka", - server = "localhost:9094", - protocol = "SASL_SSL", - client_id = "villas-node", + format = "json.kafka", - in = { - consume = "test-topic", - group_id = "villas-node" - }, - out = { - produce = "test-topic" - }, + server = "localhost:9094", + protocol = "SASL_SSL", + client_id = "villas-node", - ssl = { - ca = "/etc/ssl/certs/ca.pem", - }, - sasl = { - mechanisms = "SCRAM-SHA-512", - username = "scram-sha-512-usr", - password = "scram-sha-512-pwd" - } - } + in = { + consume = "test-topic", + group_id = "villas-node" + }, + out = { + produce = "test-topic" + }, + + ssl = { + ca = "/etc/ssl/certs/ca.pem", + }, + sasl = { + mechanisms = "SCRAM-SHA-512", + username = "scram-sha-512-usr", + password = "scram-sha-512-pwd" + } + } } diff --git a/etc/examples/nodes/loopback.conf b/etc/examples/nodes/loopback.conf index 25870a3a9..1c78af3fa 100644 --- a/etc/examples/nodes/loopback.conf +++ b/etc/examples/nodes/loopback.conf @@ -2,10 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - loopback_node = { - type = "loopback", # A loopback node will receive exactly the same data which has been sent to it. - # The internal implementation is based on queue. - queuelen = 1024, # The queue length of the internal queue which buffers the samples. - mode = "polling" # Use busy polling for synchronization of the read and write side of the queue - } + loopback_node = { + type = "loopback", # A loopback node will receive exactly the same data which has been sent to it. + # The internal implementation is based on queue. + queuelen = 1024, # The queue length of the internal queue which buffers the samples. + mode = "polling" # Use busy polling for synchronization of the read and write side of the queue + } } diff --git a/etc/examples/nodes/modbus.conf b/etc/examples/nodes/modbus.conf index 4f8bf3a96..564b5fdb6 100644 --- a/etc/examples/nodes/modbus.conf +++ b/etc/examples/nodes/modbus.conf @@ -2,167 +2,167 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - modbus_node = { - type = "modbus" + modbus_node = { + type = "modbus" - # Required transport type. Can be either "rtu" or "tcp" - transport = "tcp" + # Required transport type. Can be either "rtu" or "tcp" + transport = "tcp" - # Optional timeout in seconds when waiting for responses from a modbus server. - # Default is 1.0. - response_timeout = 1.0 + # Optional timeout in seconds when waiting for responses from a modbus server. + # Default is 1.0. + response_timeout = 1.0 - # - # Settings for transport = "tcp". - # + # + # Settings for transport = "tcp". + # - # Required remote IP address. - remote = "127.0.0.1" + # Required remote IP address. + remote = "127.0.0.1" - # Optional remote port. - # Default is 502. - port = 502 + # Optional remote port. + # Default is 502. + port = 502 - # - # Settings for transport = "rtu" - # + # + # Settings for transport = "rtu" + # - # Required device file. - device = "/dev/ttyS0" + # Required device file. + device = "/dev/ttyS0" - # Required baudrate. - baudrate = 9600 + # Required baudrate. + baudrate = 9600 - # Required parity. One of "none", "even" and "odd" - parity = "none" + # Required parity. One of "none", "even" and "odd" + parity = "none" - # Required data bits. One of 5, 6, 7, 8 - data_bits = 5 + # Required data bits. One of 5, 6, 7, 8 + data_bits = 5 - # Required stop bits. One of 1, 2 - stop_bits = 1 + # Required stop bits. One of 1, 2 + stop_bits = 1 - # The modbus unit ID. - # Required for transport = "rtu". - # Optional for transport = "tcp". - unit = 1 + # The modbus unit ID. + # Required for transport = "rtu". + # Optional for transport = "tcp". + unit = 1 - # Optional polling rate for the modbus remote reads. - # Defaults to 10. - rate = 10 + # Optional polling rate for the modbus remote reads. + # Defaults to 10. + rate = 10 - in = { - signals = ( - # A 32-bit IEEE 754 floating point value. - # This spans 2 registers. - { - # Required type = "float". - type = "float" + in = { + signals = ( + # A 32-bit IEEE 754 floating point value. + # This spans 2 registers. + { + # Required type = "float". + type = "float" - # Required address of the lowest register. - address = 0x50 + # Required address of the lowest register. + address = 0x50 - # Optional endianess for joining the 2 16-bit registers into a 32-bit value. - # Defaults to "big". - word_endianess = "big" + # Optional endianess for joining the 2 16-bit registers into a 32-bit value. + # Defaults to "big". + word_endianess = "big" - # Optional endianess for the 2 bytes within a register. - # Defaults to "big". - byte_endianess = "big" + # Optional endianess for the 2 bytes within a register. + # Defaults to "big". + byte_endianess = "big" - # Optional scale that should be applied to the integer value. - # Defaults to 1. - scale = 10 + # Optional scale that should be applied to the integer value. + # Defaults to 1. + scale = 10 - # Optional offset that should be applied to the integer value after scaling. - # Defaults to 0. - offset = 2 - }, - # A single bit within a register as a boolean value. - { - # Required type = "boolean". - type = "boolean" + # Optional offset that should be applied to the integer value after scaling. + # Defaults to 0. + offset = 2 + }, + # A single bit within a register as a boolean value. + { + # Required type = "boolean". + type = "boolean" - # Required address of the register. - address = 0x54 + # Required address of the register. + address = 0x54 - # Required bit within the register. - # Starting at 0. - bit = 0 - }, - # An integer value. - # This may span multiple registers. - { - # Required type = "integer". - type = "integer" + # Required bit within the register. + # Starting at 0. + bit = 0 + }, + # An integer value. + # This may span multiple registers. + { + # Required type = "integer". + type = "integer" - # Required address of the lowest register. - address = 0x52 + # Required address of the lowest register. + address = 0x52 - # Optional number of registers that should be joined to form the value. - # Defaults to 1. - integer_registers = 1 + # Optional number of registers that should be joined to form the value. + # Defaults to 1. + integer_registers = 1 - # Optional endianess for joining the 16-bit registers into a 32-bit value. - # Defaults to "big". - word_endianess = "big" + # Optional endianess for joining the 16-bit registers into a 32-bit value. + # Defaults to "big". + word_endianess = "big" - # Optional endianess for the 2 bytes within a register. - # Defaults to "big". - byte_endianess = "big" - }, - # An float value created by reading an integer and applying an optional offset and scale. - # This may span multiple registers. - { - # Required type = "float". - type = "float" + # Optional endianess for the 2 bytes within a register. + # Defaults to "big". + byte_endianess = "big" + }, + # An float value created by reading an integer and applying an optional offset and scale. + # This may span multiple registers. + { + # Required type = "float". + type = "float" - # Required address of the lowest register. - address = 0x52 + # Required address of the lowest register. + address = 0x52 - # Required number of registers that should be joined to form the value. - # A "float" value without the "integer_registers" settings is considered an IEEE 754 float, spanning 2 registers. - integer_registers = 1 + # Required number of registers that should be joined to form the value. + # A "float" value without the "integer_registers" settings is considered an IEEE 754 float, spanning 2 registers. + integer_registers = 1 - # Optional endianess for joining the 16-bit registers into a 32-bit value. - # Defaults to "big". - word_endianess = "big" + # Optional endianess for joining the 16-bit registers into a 32-bit value. + # Defaults to "big". + word_endianess = "big" - # Optional endianess for the 2 bytes within a register. - # Defaults to "big". - byte_endianess = "big" + # Optional endianess for the 2 bytes within a register. + # Defaults to "big". + byte_endianess = "big" - # Optional scale that should be applied to the integer value. - # Defaults to 1. - scale = 10 + # Optional scale that should be applied to the integer value. + # Defaults to 1. + scale = 10 - # Optional offset that should be applied to the integer value after scaling. - # Defaults to 0. - offset = 2 - } - ) - } + # Optional offset that should be applied to the integer value after scaling. + # Defaults to 0. + offset = 2 + } + ) + } - out = { - signals = ( - # All register mappings described for "in" except for "boolean" are supported in the "out" signals. - { - type = "float" - address = 0x50 + out = { + signals = ( + # All register mappings described for "in" except for "boolean" are supported in the "out" signals. + { + type = "float" + address = 0x50 - # Scale and offset a applied as attributes of the register that is written to. - # This means the value written to "register" for a "signal" with "offset" and "scale" will be: - # - # register = (signal - offset) / scale - # - # It is fairly common to specify a scale and offset for modbus registers in a device manual. - # You should be able to plug those values into this configuration without conversion. - scale = 10 - offset = 2 - }, - ) - } - } + # Scale and offset a applied as attributes of the register that is written to. + # This means the value written to "register" for a "signal" with "offset" and "scale" will be: + # + # register = (signal - offset) / scale + # + # It is fairly common to specify a scale and offset for modbus registers in a device manual. + # You should be able to plug those values into this configuration without conversion. + scale = 10 + offset = 2 + }, + ) + } + } } diff --git a/etc/examples/nodes/mqtt.conf b/etc/examples/nodes/mqtt.conf index 14e9f6729..53728fcb1 100644 --- a/etc/examples/nodes/mqtt.conf +++ b/etc/examples/nodes/mqtt.conf @@ -2,32 +2,32 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - mqtt_node = { - type = "mqtt", - - format = "protobuf", - - username = "guest", - password = "guest", - host = "localhost", - port = 1883, - - keepalive = 5, # Send ping every 5 seconds to keep connection alive - retain = false, - qos = 0, + mqtt_node = { + type = "mqtt", - out = { - publish = "test-topic" - }, - in = { - subscribe = "test-topic" - }, - ssl = { - enabled = false, - insecure = true, - cafile = "/etc/ssl/certs/ca-bundle.crt", - certfile = "/etc/ssl/certs/my.crt", - keyfile = "/etc/ssl/keys/my.key" - } - } + format = "protobuf", + + username = "guest", + password = "guest", + host = "localhost", + port = 1883, + + keepalive = 5, # Send ping every 5 seconds to keep connection alive + retain = false, + qos = 0, + + out = { + publish = "test-topic" + }, + in = { + subscribe = "test-topic" + }, + ssl = { + enabled = false, + insecure = true, + cafile = "/etc/ssl/certs/ca-bundle.crt", + certfile = "/etc/ssl/certs/my.crt", + keyfile = "/etc/ssl/keys/my.key" + } + } } diff --git a/etc/examples/nodes/nanomsg.conf b/etc/examples/nodes/nanomsg.conf index d270ed2b1..786ec7c73 100644 --- a/etc/examples/nodes/nanomsg.conf +++ b/etc/examples/nodes/nanomsg.conf @@ -2,22 +2,22 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - nanomsg_node = { - type = "nanomsg", + nanomsg_node = { + type = "nanomsg", - out = { - endpoints = [ - "tcp://*:12000", # TCP socket - "ipc:///tmp/test.ipc", # Interprocess communication - "inproc://test" # Inprocess communication - ], - } - in = { - endpoints = [ - "tcp://127.0.0.1:12000", - "ipc:///tmp/test.ipc", - "inproc://test" - ] - } - } + out = { + endpoints = [ + "tcp://*:12000", # TCP socket + "ipc:///tmp/test.ipc", # Interprocess communication + "inproc://test" # Inprocess communication + ], + } + in = { + endpoints = [ + "tcp://127.0.0.1:12000", + "ipc:///tmp/test.ipc", + "inproc://test" + ] + } + } } diff --git a/etc/examples/nodes/netem.conf b/etc/examples/nodes/netem.conf index 7d8067020..b02a7849c 100644 --- a/etc/examples/nodes/netem.conf +++ b/etc/examples/nodes/netem.conf @@ -2,29 +2,29 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node = { # The dictionary is indexed by the name of the node. - type = "socket", # For a list of available node-types run: 'villas-node -h' + udp_node = { # The dictionary is indexed by the name of the node. + type = "socket", # For a list of available node-types run: 'villas-node -h' - ### The following settings are specific to the socket node-type!! ### + ### The following settings are specific to the socket node-type!! ### - format = "gtnet", # For a list of available node-types run: 'villas-node -h' + format = "gtnet", # For a list of available node-types run: 'villas-node -h' - in = { - address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair - }, - out = { - address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair - - netem = { # Network emulation settings - enabled = true, - # Those settings can be specified for each node individually! - delay = 100000, # Additional latency in microseconds - jitter = 30000, # Jitter in uS - distribution = "normal", # Distribution of delay: uniform, normal, pareto, paretonormal - loss = 10 # Packet loss in percent - duplicate = 10, # Duplication in percent - corrupt = 10 # Corruption in percent - } - } - } + in = { + address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair + }, + out = { + address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair + + netem = { # Network emulation settings + enabled = true, + # Those settings can be specified for each node individually! + delay = 100000, # Additional latency in microseconds + jitter = 30000, # Jitter in uS + distribution = "normal", # Distribution of delay: uniform, normal, pareto, paretonormal + loss = 10 # Packet loss in percent + duplicate = 10, # Duplication in percent + corrupt = 10 # Corruption in percent + } + } + } } diff --git a/etc/examples/nodes/ngsi.conf b/etc/examples/nodes/ngsi.conf index 8b99fd29b..46b9cf512 100644 --- a/etc/examples/nodes/ngsi.conf +++ b/etc/examples/nodes/ngsi.conf @@ -2,43 +2,43 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - ngsi_node = { - type = "ngsi", + ngsi_node = { + type = "ngsi", - ### The following settings are specific to the ngsi node-type!! ### + ### The following settings are specific to the ngsi node-type!! ### - # The HTTP REST API endpoint of the FIRWARE context broker - endpoint = "http://46.101.131.212:1026", + # The HTTP REST API endpoint of the FIRWARE context broker + endpoint = "http://46.101.131.212:1026", - access_token: "aig1aaQuohsh5pee9uiC2Bae3loSh9wu" # Add an 'Auth-Token' token header to each request + access_token: "aig1aaQuohsh5pee9uiC2Bae3loSh9wu" # Add an 'Auth-Token' token header to each request - entity_id = "S3_ElectricalGrid", - entity_type = "ElectricalGridMonitoring", + entity_id = "S3_ElectricalGrid", + entity_type = "ElectricalGridMonitoring", - create = true # Create the NGSI entities during startup + create = true # Create the NGSI entities during startup - rate = 0.1 # Rate at which we poll the broker for updates - timeout = 1, # Timeout of HTTP request in seconds (default is 1, must be smaller than 1 / rate) - verify_ssl = false, # Verification of SSL server certificates (default is true) + rate = 0.1 # Rate at which we poll the broker for updates + timeout = 1, # Timeout of HTTP request in seconds (default is 1, must be smaller than 1 / rate) + verify_ssl = false, # Verification of SSL server certificates (default is true) - in = { - signals = ( - { - name = "attr1", - ngsi_attribute_name = "attr1", # defaults to signal 'name' - ngsi_attribute_type = "Volts", # default to signal 'unit' - ngsi_attribute_metadatas = ( - { name="accuracy", type="percent", value="5" } - ) - } - ) - } + in = { + signals = ( + { + name = "attr1", + ngsi_attribute_name = "attr1", # defaults to signal 'name' + ngsi_attribute_type = "Volts", # default to signal 'unit' + ngsi_attribute_metadatas = ( + { name="accuracy", type="percent", value="5" } + ) + } + ) + } - out = { - signals = ( - { name="PTotalLosses", unit="MW" }, - { name="QTotalLosses", unit="Mvar" } - ) - } - } + out = { + signals = ( + { name="PTotalLosses", unit="MW" }, + { name="QTotalLosses", unit="Mvar" } + ) + } + } } diff --git a/etc/examples/nodes/opal.conf b/etc/examples/nodes/opal.conf index 96d96c199..68eb78604 100644 --- a/etc/examples/nodes/opal.conf +++ b/etc/examples/nodes/opal.conf @@ -2,38 +2,38 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - opal_node = { # The server can be started as an Asynchronous process - type = "opal", # from within an OPAL-RT model. + opal_node = { # The server can be started as an Asynchronous process + type = "opal", # from within an OPAL-RT model. - ### The following settings are specific to the opal node-type!! ### + ### The following settings are specific to the opal node-type!! ### - send_id = 1, # It's possible to have multiple send / recv Icons per model - recv_id = 1, # Specify the ID here. - reply = true - }, - file_node = { - type = "file", + send_id = 1, # It's possible to have multiple send / recv Icons per model + recv_id = 1, # Specify the ID here. + reply = true + }, + file_node = { + type = "file", - ### The following settings are specific to the file node-type!! ### + ### The following settings are specific to the file node-type!! ### - uri = "logs/input.log", # These options specify the path prefix where the the files are stored - - in = { - epoch_mode = "direct" # One of: direct (default), wait, relative, absolute - epoch = 10 # The interpretation of this value depends on epoch_mode (default is 0). - # Consult the documentation of a full explanation + uri = "logs/input.log", # These options specify the path prefix where the the files are stored - rate = 2.0 # A constant rate at which the lines of the input files should be read - # A missing or zero value will use the timestamp in the first column - # of the file to determine the pause between consecutive lines. - - buffer_size = 1000000 + in = { + epoch_mode = "direct" # One of: direct (default), wait, relative, absolute + epoch = 10 # The interpretation of this value depends on epoch_mode (default is 0). + # Consult the documentation of a full explanation - eof = "rewind" # One of: rewind, exit (default) or wait - }, - out = { - flush = true - buffer_size = 1000000 - } - } + rate = 2.0 # A constant rate at which the lines of the input files should be read + # A missing or zero value will use the timestamp in the first column + # of the file to determine the pause between consecutive lines. + + buffer_size = 1000000 + + eof = "rewind" # One of: rewind, exit (default) or wait + }, + out = { + flush = true + buffer_size = 1000000 + } + } } diff --git a/etc/examples/nodes/redis.conf b/etc/examples/nodes/redis.conf index 3d2ad5317..c7457c63c 100644 --- a/etc/examples/nodes/redis.conf +++ b/etc/examples/nodes/redis.conf @@ -2,41 +2,41 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - redis_node = { - type = "redis", + redis_node = { + type = "redis", - format = "json", # only valid for mode = 'channel' and 'key' - # With mode = 'hash' we will use a simple human readable format + format = "json", # only valid for mode = 'channel' and 'key' + # With mode = 'hash' we will use a simple human readable format - key = "my_key" # The Redis key to be used for mode = 'key' or 'hash' (default is the node name) - channel = "my_channel" # the Redis channel tp be used for mode = 'channel' (default is the node name) + key = "my_key" # The Redis key to be used for mode = 'key' or 'hash' (default is the node name) + channel = "my_channel" # the Redis channel tp be used for mode = 'channel' (default is the node name) - mode = "key", # one of: - # - 'channel' (publish/subscribe) - # - 'key' (set/get) - # - 'hash' (hmset/hgetall) + mode = "key", # one of: + # - 'channel' (publish/subscribe) + # - 'key' (set/get) + # - 'hash' (hmset/hgetall) - notify = false # Whether or not to use Redis keyspace event notifications to get notified about updates - - rate = 1.0 # The polling rate when notify = false + notify = false # Whether or not to use Redis keyspace event notifications to get notified about updates - uri = "tcp://localhost:6379/0", # The Redis connection URI + rate = 1.0 # The polling rate when notify = false - # host = "localhost" # Alternatively the connection options can be specified independently - # port = 6379 # Note: options here will overwrite the respective part of the URI if both are given. - # db = 0 + uri = "tcp://localhost:6379/0", # The Redis connection URI - # path = "/var/run/redis.sock" + # host = "localhost" # Alternatively the connection options can be specified independently + # port = 6379 # Note: options here will overwrite the respective part of the URI if both are given. + # db = 0 - # user = "guest", - # password = "guest" + # path = "/var/run/redis.sock" - # ssl = { - # enabled: true - # cacert: "/etc/ssl/certs/ca-certificates.crt", - # cacertdir: "/etc/ssl/certs" - # cert: "./my_cert.crt", - # key, "./my_key.key" - # } - } + # user = "guest", + # password = "guest" + + # ssl = { + # enabled: true + # cacert: "/etc/ssl/certs/ca-certificates.crt", + # cacertdir: "/etc/ssl/certs" + # cert: "./my_cert.crt", + # key, "./my_key.key" + # } + } } diff --git a/etc/examples/nodes/rtp.conf b/etc/examples/nodes/rtp.conf index e88889b8e..8c1fd626c 100644 --- a/etc/examples/nodes/rtp.conf +++ b/etc/examples/nodes/rtp.conf @@ -2,51 +2,51 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - rtp_node = { - type = "rtp" + rtp_node = { + type = "rtp" - format = { - type = "raw" - bits = 32 - endianess = "big" - } + format = { + type = "raw" + bits = 32 + endianess = "big" + } - rtcp = false + rtcp = false - aimd = { - a = 10, - b = 0.5 + aimd = { + a = 10, + b = 0.5 - Kp = 1.0 - Ki = 0.0 - Kd = 0 + Kp = 1.0 + Ki = 0.0 + Kd = 0 - rate_min = 100 - rate_init = 2000 - rate_source = 10000 + rate_min = 100 + rate_init = 2000 + rate_source = 10000 - log = "aimd-rates-%Y_%m_%d_%s.log" + log = "aimd-rates-%Y_%m_%d_%s.log" - hook_type = "limit_rate" - } + hook_type = "limit_rate" + } - in = { - address = "0.0.0.0:12000", - signals = { - count = 3 - type = "float" - } - } + in = { + address = "0.0.0.0:12000", + signals = { + count = 3 + type = "float" + } + } - out = { - address = "127.0.0.1:12000" + out = { + address = "127.0.0.1:12000" - netem = { # Network emulation settings - enabled = false, - - delay = 100000, # Additional latency in microseconds - loss = 10 # Packet loss in percent - } - } - } + netem = { # Network emulation settings + enabled = false, + + delay = 100000, # Additional latency in microseconds + loss = 10 # Packet loss in percent + } + } + } } diff --git a/etc/examples/nodes/shmem.conf b/etc/examples/nodes/shmem.conf index ad1e98ae3..773d0a42a 100644 --- a/etc/examples/nodes/shmem.conf +++ b/etc/examples/nodes/shmem.conf @@ -2,22 +2,22 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - shmem_node = { - type = "shmem", - - in = { - name = "sn1_in" - }, # Name of shared memory segment for receiving side - out = { - name = "sn1_in" # Name of shared memory segment for sending side - }, + shmem_node = { + type = "shmem", - queuelen = 1024, # Length of the queues - mode = "pthread", # We can busy-wait or use pthread condition variables for synchronizations - - # Execute an external process when starting the node which - # then starts the other side of this shared memory channel - # Usually we also pass the shmem names as parameters. - exec = [ "villas-shmem", "sn1_in", "sn1_out" ] - } + in = { + name = "sn1_in" + }, # Name of shared memory segment for receiving side + out = { + name = "sn1_in" # Name of shared memory segment for sending side + }, + + queuelen = 1024, # Length of the queues + mode = "pthread", # We can busy-wait or use pthread condition variables for synchronizations + + # Execute an external process when starting the node which + # then starts the other side of this shared memory channel + # Usually we also pass the shmem names as parameters. + exec = [ "villas-shmem", "sn1_in", "sn1_out" ] + } } diff --git a/etc/examples/nodes/signal-v2.conf b/etc/examples/nodes/signal-v2.conf index 03c89b50b..00f0c97a7 100644 --- a/etc/examples/nodes/signal-v2.conf +++ b/etc/examples/nodes/signal-v2.conf @@ -2,32 +2,32 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - signal_node = { - type = "signal.v2", + signal_node = { + type = "signal.v2", - rate = 10.0 - realtime = true, # Wait between emitting each sample - limit = 1000, # Only emit 1000 samples, then stop - monitor_missed = true # Count and warn about missed steps + rate = 10.0 + realtime = true, # Wait between emitting each sample + limit = 1000, # Only emit 1000 samples, then stop + monitor_missed = true # Count and warn about missed steps - in = { - signals = ( - { name = "sine1", signal = "sine", amplitude = 123.456, frequency = 10, offset = 1.0 }, - { name = "sine2", signal = "sine", amplitude = 12.456, frequency = 20, offset = 10.0 }, - { name = "sine3", signal = "sine", amplitude = 2, frequency = 1, offset = 100.0 }, - { name = "random1", signal = "random", amplitude = 2, stddev = 2, offset = 13.0 }, - { name = "pulse1", signal = "pulse", frequency = 1.0, pulse_width = 1, pulse_high = 100, pulse_low = 50 } - ) - } - }, - signal_node2 = { - type = "signal.v2", + in = { + signals = ( + { name = "sine1", signal = "sine", amplitude = 123.456, frequency = 10, offset = 1.0 }, + { name = "sine2", signal = "sine", amplitude = 12.456, frequency = 20, offset = 10.0 }, + { name = "sine3", signal = "sine", amplitude = 2, frequency = 1, offset = 100.0 }, + { name = "random1", signal = "random", amplitude = 2, stddev = 2, offset = 13.0 }, + { name = "pulse1", signal = "pulse", frequency = 1.0, pulse_width = 1, pulse_high = 100, pulse_low = 50 } + ) + } + }, + signal_node2 = { + type = "signal.v2", - in = { - signals = { - count = 8, - signal = "mixed" - } - } - } + in = { + signals = { + count = 8, + signal = "mixed" + } + } + } } diff --git a/etc/examples/nodes/signal.conf b/etc/examples/nodes/signal.conf index b25fe9d59..a2a1a477f 100644 --- a/etc/examples/nodes/signal.conf +++ b/etc/examples/nodes/signal.conf @@ -2,20 +2,20 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - signal_node = { - type = "signal", + signal_node = { + type = "signal", - # One of "sine", "square", "ramp", "triangle", "random", "mixed", "counter" - signal = [ "sine", "pulse", "square" ], + # One of "sine", "square", "ramp", "triangle", "random", "mixed", "counter" + signal = [ "sine", "pulse", "square" ], - values = 3, # Number of values per sample - amplitude = [ 1.2, 0.0, 4.0 ], # Amplitude of generated signals - frequency = 10, # Frequency of generated signals - stddev = 2, # Standard deviation of random signals (normal distributed) - rate = 10.0, # Sample rate - offset = 1.0, # Constant offset - realtime = true, # Wait between emitting each sample - limit = 1000, # Only emit 1000 samples, then stop - monitor_missed = true # Count and warn about missed steps - } + values = 3, # Number of values per sample + amplitude = [ 1.2, 0.0, 4.0 ], # Amplitude of generated signals + frequency = 10, # Frequency of generated signals + stddev = 2, # Standard deviation of random signals (normal distributed) + rate = 10.0, # Sample rate + offset = 1.0, # Constant offset + realtime = true, # Wait between emitting each sample + limit = 1000, # Only emit 1000 samples, then stop + monitor_missed = true # Count and warn about missed steps + } } diff --git a/etc/examples/nodes/socket.conf b/etc/examples/nodes/socket.conf index 68173f1ce..cc613b1a5 100644 --- a/etc/examples/nodes/socket.conf +++ b/etc/examples/nodes/socket.conf @@ -2,78 +2,78 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node = { # The dictionary is indexed by the name of the node. - type = "socket", # For a list of available node-types run: 'villas-node -h' - vectorize = 30, # Receive and sent 30 samples per message (combining). - samplelen = 10 # The maximum number of samples this node can receive + udp_node = { # The dictionary is indexed by the name of the node. + type = "socket", # For a list of available node-types run: 'villas-node -h' + vectorize = 30, # Receive and sent 30 samples per message (combining). + samplelen = 10 # The maximum number of samples this node can receive - builtin = false, # By default, all nodes will have a few builtin hooks attached to them. - # When collecting statistics or measurements these are undesired. + builtin = false, # By default, all nodes will have a few builtin hooks attached to them. + # When collecting statistics or measurements these are undesired. - ### The following settings are specific to the socket node-type!! ### + ### The following settings are specific to the socket node-type!! ### - layer = "udp", # Layer can be one of: - # - udp Send / receive L4 UDP packets - # - ip Send / receive L3 IP packets - # - eth Send / receive L2 Ethernet frames (IEEE802.3) + layer = "udp", # Layer can be one of: + # - udp Send / receive L4 UDP packets + # - ip Send / receive L3 IP packets + # - eth Send / receive L2 Ethernet frames (IEEE802.3) - format = "gtnet", # For a list of available node-types run: 'villas-node -h' + format = "gtnet", # For a list of available node-types run: 'villas-node -h' - in = { - address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair - - verify_source = true # Check if source address of incoming packets matches the remote address. - }, - out = { - address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair - } - } + in = { + address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair - ethernet_node = { - type = "socket", # See above. + verify_source = true # Check if source address of incoming packets matches the remote address. + }, + out = { + address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair + } + } - ### The following settings are specific to the socket node-type!! ### + ethernet_node = { + type = "socket", # See above. - layer = "eth", - in = { - address = "12:34:56:78:90:AB%lo:12002" - }, - out = { - address = "12:34:56:78:90:AB%lo:12002" - } - }, + ### The following settings are specific to the socket node-type!! ### - unix_domain_node = { - type = "socket", - layer = "unix", # Datagram UNIX domain sockets require two endpoints - - in = { - address = "/var/run/villas-node/node.sock" - }, - out = { - address = "/var/run/villas-node/client.sock" - } - } + layer = "eth", + in = { + address = "12:34:56:78:90:AB%lo:12002" + }, + out = { + address = "12:34:56:78:90:AB%lo:12002" + } + }, - udp_multicast_node = { # The dictionary is indexed by the name of the node. - type = "socket", # For a list of available node-types run: 'villas-node -h' + unix_domain_node = { + type = "socket", + layer = "unix", # Datagram UNIX domain sockets require two endpoints - ### The following settings are specific to the socket node-type!! ### + in = { + address = "/var/run/villas-node/node.sock" + }, + out = { + address = "/var/run/villas-node/client.sock" + } + } - in = { - address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair + udp_multicast_node = { # The dictionary is indexed by the name of the node. + type = "socket", # For a list of available node-types run: 'villas-node -h' - multicast = { # IGMP multicast is only support for layer = (ip|udp) - enabled = true, + ### The following settings are specific to the socket node-type!! ### - group = "224.1.2.3", # The multicast group. Must be within 224.0.0.0/4 - interface = "1.2.3.4", # The IP address of the interface which should receive multicast packets. - ttl = 128, # The time to live for outgoing multicast packets. - loop = false, # Whether or not to loopback outgoing multicast packets to the local host. - } - }, - out = { - address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair - } - } + in = { + address = "127.0.0.1:12001" # This node only received messages on this IP:Port pair + + multicast = { # IGMP multicast is only support for layer = (ip|udp) + enabled = true, + + group = "224.1.2.3", # The multicast group. Must be within 224.0.0.0/4 + interface = "1.2.3.4", # The IP address of the interface which should receive multicast packets. + ttl = 128, # The time to live for outgoing multicast packets. + loop = false, # Whether or not to loopback outgoing multicast packets to the local host. + } + }, + out = { + address = "127.0.0.1:12000", # This node sends outgoing messages to this IP:Port pair + } + } } diff --git a/etc/examples/nodes/stats.conf b/etc/examples/nodes/stats.conf index 4ce7c5c59..ce501a2ab 100644 --- a/etc/examples/nodes/stats.conf +++ b/etc/examples/nodes/stats.conf @@ -2,28 +2,28 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node = { - type = "socket" + udp_node = { + type = "socket" - in = { - address = "*:12000" - } - out = { - address = "127.0.0.1:12000" - } - } - stats_node = { - type = "stats" - - node = "udp_node" - rate = 2 + in = { + address = "*:12000" + } + out = { + address = "127.0.0.1:12000" + } + } + stats_node = { + type = "stats" - in = { - signals = ( - { name = "one_way_delay_mean", type = "float", stats = "udp_node.owd.mean" }, - { name = "one_way_delay_min", type = "float", stats = "udp_node.owd.lowest" }, - { name = "one_way_delay_max", type = "float", stats = "udp_node.owd.highest" } - ) - } - } + node = "udp_node" + rate = 2 + + in = { + signals = ( + { name = "one_way_delay_mean", type = "float", stats = "udp_node.owd.mean" }, + { name = "one_way_delay_min", type = "float", stats = "udp_node.owd.lowest" }, + { name = "one_way_delay_max", type = "float", stats = "udp_node.owd.highest" } + ) + } + } } diff --git a/etc/examples/nodes/temper.conf b/etc/examples/nodes/temper.conf index 10c9b4447..9fb25c9db 100644 --- a/etc/examples/nodes/temper.conf +++ b/etc/examples/nodes/temper.conf @@ -2,15 +2,15 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - temper_node = { - type = "temper" + temper_node = { + type = "temper" - calibration = { - scale = 1.0 - offset = 0.0 - } + calibration = { + scale = 1.0 + offset = 0.0 + } - bus = 0x1 - port = 0x1 - } + bus = 0x1 + port = 0x1 + } } diff --git a/etc/examples/nodes/test_rtt.conf b/etc/examples/nodes/test_rtt.conf index 7c5006a98..a9c2aaed0 100644 --- a/etc/examples/nodes/test_rtt.conf +++ b/etc/examples/nodes/test_rtt.conf @@ -2,44 +2,44 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - rtt_node = { # The "test_rtt" node-type runs a set of test cases for varying - type = "test_rtt", # sending rates, number of values and generates statistics. - cooldown = 2, # The cooldown time between each test case in seconds - - prefix = "test_rtt_%y-%m-%d_%H-%M-%S", # An optional prefix in the filename - output = "./results", # The output directory for all results - # The results of each test case will be written to a separate file. - format = "villas.human", # The output format of the result files. + rtt_node = { # The "test_rtt" node-type runs a set of test cases for varying + type = "test_rtt", # sending rates, number of values and generates statistics. + cooldown = 2, # The cooldown time between each test case in seconds - cases = ( # The list of test cases - # Each test case can specify a single or an array of rates and values - # If arrays are used, we will generate multiple test cases with all - # possible combinations - { - rates = 55.0, # The sending rate in Hz - values = [ 5, 10, 20], # The number of values which should be send in each sample - limit = 100 # The number of samples which should be send during this test case - }, - { - rates = [ 5, 10, 30 ], # An array of rates in Hz - values = [ 2, 10, 20 ],# An array of number of values - duration = 5 # The duration of the test case in seconds (depending on the sending rate) - } - ) - } + prefix = "test_rtt_%y-%m-%d_%H-%M-%S", # An optional prefix in the filename + output = "./results", # The output directory for all results + # The results of each test case will be written to a separate file. + format = "villas.human", # The output format of the result files. + + cases = ( # The list of test cases + # Each test case can specify a single or an array of rates and values + # If arrays are used, we will generate multiple test cases with all + # possible combinations + { + rates = 55.0, # The sending rate in Hz + values = [ 5, 10, 20], # The number of values which should be send in each sample + limit = 100 # The number of samples which should be send during this test case + }, + { + rates = [ 5, 10, 30 ], # An array of rates in Hz + values = [ 2, 10, 20 ],# An array of number of values + duration = 5 # The duration of the test case in seconds (depending on the sending rate) + } + ) + } } paths = ( - { - # Simple loopback path to test the node - in = "rtt_node" - out = "rtt_node" + { + # Simple loopback path to test the node + in = "rtt_node" + out = "rtt_node" - # hooks = ( - # { - # type = "print" - # } - # ) - } + # hooks = ( + # { + # type = "print" + # } + # ) + } ) diff --git a/etc/examples/nodes/uldaq.conf b/etc/examples/nodes/uldaq.conf index bd9bc9c14..f88bd4c3e 100644 --- a/etc/examples/nodes/uldaq.conf +++ b/etc/examples/nodes/uldaq.conf @@ -2,50 +2,50 @@ # SPDX-License-Identifier: Apache-2.0 http = { - enabled = false + enabled = false } nodes = { - ul201 = { - type = "uldaq" - interface_type = "usb" - in = { - range = "bipolar-10", - input_mode = "single-ended" - signals = ( - { name = "ch0", type = "float", channel = 0 } - ) + ul201 = { + type = "uldaq" + interface_type = "usb" + in = { + range = "bipolar-10", + input_mode = "single-ended" + signals = ( + { name = "ch0", type = "float", channel = 0 } + ) - sample_rate = 5000, - vectorize = 100 - } - }, + sample_rate = 5000, + vectorize = 100 + } + }, - vpmu = { - type = "socket", - layer = "udp", + vpmu = { + type = "socket", + layer = "udp", - format = { - type = "raw" - bits = 32 - endianess = "big" - } + format = { + type = "raw" + bits = 32 + endianess = "big" + } - in = { - address = "*:13001" + in = { + address = "*:13001" - signals = () - }, - out = { - vectorize = 100 - address = "10.100.1.125:13000" - } - } + signals = () + }, + out = { + vectorize = 100 + address = "10.100.1.125:13000" + } + } } paths = ( - { - in = "ul201", - out = "vpmu" - } + { + in = "ul201", + out = "vpmu" + } ) diff --git a/etc/examples/nodes/unix_domain.conf b/etc/examples/nodes/unix_domain.conf index ee18dd86a..2ebd1a585 100644 --- a/etc/examples/nodes/unix_domain.conf +++ b/etc/examples/nodes/unix_domain.conf @@ -2,16 +2,16 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - unix_domain_node = { - type = "socket", - layer = "unix", - format = "protobuf", - - in = { - address = "/var/run/villas-node.server.sock" - }, - out = { - address = "/var/run/villas-node.client.sock" - } - } + unix_domain_node = { + type = "socket", + layer = "unix", + format = "protobuf", + + in = { + address = "/var/run/villas-node.server.sock" + }, + out = { + address = "/var/run/villas-node.client.sock" + } + } } diff --git a/etc/examples/nodes/webrtc.conf b/etc/examples/nodes/webrtc.conf index 077067077..64928e058 100644 --- a/etc/examples/nodes/webrtc.conf +++ b/etc/examples/nodes/webrtc.conf @@ -2,37 +2,37 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - webrtc_node = { - type = "webrtc", + webrtc_node = { + type = "webrtc", - format = "json" + format = "json" - # A unique session identifier which must be shared between two nodes - session = "my-session-name" + # A unique session identifier which must be shared between two nodes + session = "my-session-name" - # Address to the websocket signaling server - server = "https://villas.k8s.eonerc.rwth-aachen.de/ws/signaling" + # Address to the websocket signaling server + server = "https://villas.k8s.eonerc.rwth-aachen.de/ws/signaling" - # Limit the number of times a channel will retransmit data if not successfully delivered. - # This value may be clamped if it exceeds the maximum value supported. - max_retransmits = 0 + # Limit the number of times a channel will retransmit data if not successfully delivered. + # This value may be clamped if it exceeds the maximum value supported. + max_retransmits = 0 - # Number of seconds to wait for a WebRTC connection before proceeding the start - # of VILLASnode. Mainly used for testing - wait_seconds = 10 # in seconds + # Number of seconds to wait for a WebRTC connection before proceeding the start + # of VILLASnode. Mainly used for testing + wait_seconds = 10 # in seconds - # Indicates if data is allowed to be delivered out of order. - # The default value of false, does not make guarantees that data will be delivered in order. - ordered = false + # Indicates if data is allowed to be delivered out of order. + # The default value of false, does not make guarantees that data will be delivered in order. + ordered = false - # Setting for Interactive Connectivity Establishment - ice = { - # List of STUN/TURN servers - servers = ( - "stun:stun.0l.de:3478", - "turn:villas:villas@turn.0l.de:3478?transport=udp", - "turn:villas:villas@turn.0l.de:3478?transport=tcp" - ) - } - } + # Setting for Interactive Connectivity Establishment + ice = { + # List of STUN/TURN servers + servers = ( + "stun:stun.0l.de:3478", + "turn:villas:villas@turn.0l.de:3478?transport=udp", + "turn:villas:villas@turn.0l.de:3478?transport=tcp" + ) + } + } } diff --git a/etc/examples/nodes/websocket.conf b/etc/examples/nodes/websocket.conf index 9cc84e964..1f28df9df 100644 --- a/etc/examples/nodes/websocket.conf +++ b/etc/examples/nodes/websocket.conf @@ -2,17 +2,17 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - ws = { - type = "websocket" + ws = { + type = "websocket" - destinations = [ - "ws://someserver:8080/somenode" - ] - } + destinations = [ + "ws://someserver:8080/somenode" + ] + } } http = { - port = 8080 - ssl_cert = "/etc/ssl/certs/mycert.pem" - ssl_private_key= "/etc/ssl/private/mykey.pem" + port = 8080 + ssl_cert = "/etc/ssl/certs/mycert.pem" + ssl_private_key= "/etc/ssl/private/mykey.pem" } diff --git a/etc/examples/nodes/zeromq.conf b/etc/examples/nodes/zeromq.conf index 63674c035..30102e797 100644 --- a/etc/examples/nodes/zeromq.conf +++ b/etc/examples/nodes/zeromq.conf @@ -2,30 +2,30 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - zeromq_node = { - type = "zeromq" + zeromq_node = { + type = "zeromq" - pattern = "pubsub" # The ZeroMQ pattern. One of pubsub, radiodish - ipv6 = false # Enable IPv6 support + pattern = "pubsub" # The ZeroMQ pattern. One of pubsub, radiodish + ipv6 = false # Enable IPv6 support - curve = { # Z85 encoded Curve25519 keys - enabled = false, - public_key = "Veg+Q.V-c&1k>yVh663gQ^7fL($y47gybE-nZP1L" - secret_key = "HPY.+mFuB[jGs@(zZr6$IZ1H1dZ7Ji*j>oi@O?Pc" - } + curve = { # Z85 encoded Curve25519 keys + enabled = false, + public_key = "Veg+Q.V-c&1k>yVh663gQ^7fL($y47gybE-nZP1L" + secret_key = "HPY.+mFuB[jGs@(zZr6$IZ1H1dZ7Ji*j>oi@O?Pc" + } - in = { - subscribe = "tcp://*:1234" # The subscribe endpoint. - # See http://api.zeromq.org/2-1:zmq-bind for details. - filter = "ab184" # A filter which is prefix matched for each received msg - } - out = { - publish = [ # The publish endpoints. - "tcp://localhost:1235", # See http://api.zeromq.org/2-1:zmq-connect for details. - "tcp://localhost:12444" - ] + in = { + subscribe = "tcp://*:1234" # The subscribe endpoint. + # See http://api.zeromq.org/2-1:zmq-bind for details. + filter = "ab184" # A filter which is prefix matched for each received msg + } + out = { + publish = [ # The publish endpoints. + "tcp://localhost:1235", # See http://api.zeromq.org/2-1:zmq-connect for details. + "tcp://localhost:12444" + ] - filter = "ab184" # A prefix which is pre-pended to each message. - } - } + filter = "ab184" # A prefix which is pre-pended to each message. + } + } } diff --git a/etc/examples/paths.conf b/etc/examples/paths.conf index e4ea04b3a..94933dd07 100644 --- a/etc/examples/paths.conf +++ b/etc/examples/paths.conf @@ -2,20 +2,20 @@ # SPDX-License-Identifier: Apache-2.0 paths = ( - { - enabled = true, # Enable this path (default: true) - reverse = true, # Setup a path in the reverse direction as well (default: false) + { + enabled = true, # Enable this path (default: true) + reverse = true, # Setup a path in the reverse direction as well (default: false) - in = "udp_node", # Name of the node we receive messages from (see node dictionary) - out = "ethernet_node", # Name of the node we send messages to. + in = "udp_node", # Name of the node we receive messages from (see node dictionary) + out = "ethernet_node", # Name of the node we send messages to. - rate = 10.0 # A rate at which this path will be triggered if no input node receives new data + rate = 10.0 # A rate at which this path will be triggered if no input node receives new data - queuelen = 128, - - mode = "all", # When this path should be triggered - # - "all": After all masked input nodes received new data - # - "any": After any of the masked input nodes received new data - mask = [ "udp_node" ], # A list of input nodes which will trigger the path - } + queuelen = 128, + + mode = "all", # When this path should be triggered + # - "all": After all masked input nodes received new data + # - "any": After any of the masked input nodes received new data + mask = [ "udp_node" ], # A list of input nodes which will trigger the path + } ) diff --git a/etc/examples/villas-web.conf b/etc/examples/villas-web.conf index c5065f2f0..d8b883e4b 100644 --- a/etc/examples/villas-web.conf +++ b/etc/examples/villas-web.conf @@ -2,33 +2,33 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - sine = { - type = "signal" - - signal = "mixed" - values = 5 - rate = 25 - frequency = 5 - } + sine = { + type = "signal" - web = { - type = "websocket" + signal = "mixed" + values = 5 + rate = 25 + frequency = 5 + } - destinations = [ - "https://villas.k8s.eonerc.rwth-aachen.de//ws/relay/test_data_1" - ] + web = { + type = "websocket" - in = { - signals = ( - { name = "loopback", unit = "pu", init = 13.37, type = "float" } - ) - } - } + destinations = [ + "https://villas.k8s.eonerc.rwth-aachen.de//ws/relay/test_data_1" + ] + + in = { + signals = ( + { name = "loopback", unit = "pu", init = 13.37, type = "float" } + ) + } + } } paths = ( - { - in = "sine" - out = "web" - } + { + in = "sine" + out = "web" + } ) diff --git a/etc/gtnet-skt/emulate_gtnet.conf b/etc/gtnet-skt/emulate_gtnet.conf index 9e8b4921f..4e15b6eab 100644 --- a/etc/gtnet-skt/emulate_gtnet.conf +++ b/etc/gtnet-skt/emulate_gtnet.conf @@ -9,19 +9,19 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" - format = "gtnet" - - in = { - address = "*:12000" # Local ip:port, use '*' for random port - } - out = { - address = "134.130.169.80:12001" - } - } + node1 = { + type = "socket" + format = "gtnet" + + in = { + address = "*:12000" # Local ip:port, use '*' for random port + } + out = { + address = "134.130.169.80:12001" + } + } } diff --git a/etc/gtnet-skt/test1.conf b/etc/gtnet-skt/test1.conf index 1b7a02a32..e416d4410 100644 --- a/etc/gtnet-skt/test1.conf +++ b/etc/gtnet-skt/test1.conf @@ -9,51 +9,51 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" - format = "villas.binary" + node1 = { + type = "socket" + format = "villas.binary" - in = { - address = "192.168.88.128:12002" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } + in = { + address = "192.168.88.128:12002" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - } - node2 = { - type = "socket" - - format = "villas.binary" + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + } + node2 = { + type = "socket" - in = { - address = "*:12004" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12005" - } - } + format = "villas.binary" + + in = { + address = "*:12004" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12005" + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node1" # And we loop back to the origin + { + in = "node1" # Name of the node we listen to (see above) + out = "node1" # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - } + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/gtnet-skt/test2.conf b/etc/gtnet-skt/test2.conf index a2495dc8a..0e16b1820 100644 --- a/etc/gtnet-skt/test2.conf +++ b/etc/gtnet-skt/test2.conf @@ -9,51 +9,51 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" - format = "villas.binary" + node1 = { + type = "socket" + format = "villas.binary" - in = { - address = "192.168.88.128:12002" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } + in = { + address = "192.168.88.128:12002" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - }, - node2 = { - type = "socket" - - format = "villas.binary" + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + }, + node2 = { + type = "socket" - in = { - address = "192.168.88.128:12004" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } - } + format = "villas.binary" + + in = { + address = "192.168.88.128:12004" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node2" # And we loop back to the origin + { + in = "node1" # Name of the node we listen to (see above) + out = "node2" # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - } + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/gtnet-skt/test3.conf b/etc/gtnet-skt/test3.conf index df37cbbdc..4bc34f745 100644 --- a/etc/gtnet-skt/test3.conf +++ b/etc/gtnet-skt/test3.conf @@ -9,52 +9,52 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" + node1 = { + type = "socket" - format = "gtnet" + format = "gtnet" - in = { - address = "192.168.88.128:12002" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } + in = { + address = "192.168.88.128:12002" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - }, - node2 = { - type = "socket", - - format = "gtnet" + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + }, + node2 = { + type = "socket", - in = { - address = "192.168.88.128:12004" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } - } + format = "gtnet" + + in = { + address = "192.168.88.128:12004" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node2" # And we loop back to the origin + { + in = "node1" # Name of the node we listen to (see above) + out = "node2" # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - } + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/gtnet-skt/test4.conf b/etc/gtnet-skt/test4.conf index df2b9c711..11e1cd1af 100644 --- a/etc/gtnet-skt/test4.conf +++ b/etc/gtnet-skt/test4.conf @@ -9,52 +9,52 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" - - format = "gtnet" + node1 = { + type = "socket" - in = { - address = "134.130.169.31:12002" # Local ip:port, use '*' for random port - } - out = { - address = "134.130.169.98:12001" - } + format = "gtnet" - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - }, - node2 = { - type = "socket" - - format = "gtnet" + in = { + address = "134.130.169.31:12002" # Local ip:port, use '*' for random port + } + out = { + address = "134.130.169.98:12001" + } - in = { - address = "192.168.88.128:12004" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } - } + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + }, + node2 = { + type = "socket" + + format = "gtnet" + + in = { + address = "192.168.88.128:12004" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } + } } paths = ( - { - in = "node1", # Name of the node we listen to (see above) - out = "node1", # And we loop back to the origin + { + in = "node1", # Name of the node we listen to (see above) + out = "node1", # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - } + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/gtnet-skt/test5.conf b/etc/gtnet-skt/test5.conf index e2aae0ee1..ca5ec4d26 100644 --- a/etc/gtnet-skt/test5.conf +++ b/etc/gtnet-skt/test5.conf @@ -9,55 +9,55 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket" - - format = { - type = "gtnet" - fake = true - } + node1 = { + type = "socket" - in = { - address = "134.130.169.31:12002" # Local ip:port, use '*' for random port - } - out = { - address = "134.130.169.98:12001" - } + format = { + type = "gtnet" + fake = true + } - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - }, - node2 = { - type = "socket" + in = { + address = "134.130.169.31:12002" # Local ip:port, use '*' for random port + } + out = { + address = "134.130.169.98:12001" + } - format = "gtnet" + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + }, + node2 = { + type = "socket" - in = { - address = "192.168.88.128:12004" # Local ip:port, use '*' for random port - } - out = { - address = "192.168.88.129:12001" - } - } + format = "gtnet" + + in = { + address = "192.168.88.128:12004" # Local ip:port, use '*' for random port + } + out = { + address = "192.168.88.129:12001" + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node1" # And we loop back to the origin + { + in = "node1" # Name of the node we listen to (see above) + out = "node1" # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - } + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/gtnet-skt/test6_gtsync_compare.conf b/etc/gtnet-skt/test6_gtsync_compare.conf index 7ef93e8d0..42bf98974 100644 --- a/etc/gtnet-skt/test6_gtsync_compare.conf +++ b/etc/gtnet-skt/test6_gtsync_compare.conf @@ -26,64 +26,64 @@ # SPDX-License-Identifier: Apache-2.0 logging = { - level = "debug" + level = "debug" } nodes = { - node1 = { - type = "socket", - format = { - type = "gtnet" - fake = true - } - - in = { - address = "134.130.169.31:12002" # Local ip:port, use '*' for random port - } - out = { - address = "134.130.169.98:12001" - } - - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - }, - node2 = { - type = "socket", - format = { - type = "gtnet" - fake = true - } + node1 = { + type = "socket", + format = { + type = "gtnet" + fake = true + } - in = { - address = "134.130.169.31:12004", # Local ip:port, use '*' for random port - } - out = { - address = "134.130.169.99:12003", - } - } + in = { + address = "134.130.169.31:12002" # Local ip:port, use '*' for random port + } + out = { + address = "134.130.169.98:12001" + } + + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + }, + node2 = { + type = "socket", + format = { + type = "gtnet" + fake = true + } + + in = { + address = "134.130.169.31:12004", # Local ip:port, use '*' for random port + } + out = { + address = "134.130.169.99:12003", + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node1" # And we loop back to the origin - hooks = ( - { - type = "print" - } - ) - }, - { - in = "node2", - out = "node2", - hooks = ( - { - type = "print" - } - ) - } + { + in = "node1" # Name of the node we listen to (see above) + out = "node1" # And we loop back to the origin + hooks = ( + { + type = "print" + } + ) + }, + { + in = "node2", + out = "node2", + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/labs/lab10_nodes.conf b/etc/labs/lab10_nodes.conf index b3a747eee..43f78abc0 100644 --- a/etc/labs/lab10_nodes.conf +++ b/etc/labs/lab10_nodes.conf @@ -4,77 +4,77 @@ hugepages = 200 nodes = { - # Node names can be any alphanumeric value - rpi-1 = { - type = "socket" - layer = "udp" - format = "gtnet" # pre-built format to communicate in RTDS GTNET-SKT payload + # Node names can be any alphanumeric value + rpi-1 = { + type = "socket" + layer = "udp" + format = "gtnet" # pre-built format to communicate in RTDS GTNET-SKT payload - in = { - address = "*:12005" # villas node machine IP and port number + in = { + address = "*:12005" # villas node machine IP and port number - signals = { - count = 8 - type = "float" - } + signals = { + count = 8 + type = "float" + } - hooks = ( - { - type = "stats" - warmup = 3000 - } - ) - }, - out = { - address = "192.168.0.5:12005" # remote machine IP and port number - } - }, - rpi-2 = { - type = "socket" - layer = "udp" - format = "gtnet" # pre-built format to communicate in RTDS GTNET-SKT payload + hooks = ( + { + type = "stats" + warmup = 3000 + } + ) + }, + out = { + address = "192.168.0.5:12005" # remote machine IP and port number + } + }, + rpi-2 = { + type = "socket" + layer = "udp" + format = "gtnet" # pre-built format to communicate in RTDS GTNET-SKT payload - in = { - address = "*:12006" # villas node machine IP and port number + in = { + address = "*:12006" # villas node machine IP and port number - signals = { - count = 8 - type = "float" - } + signals = { + count = 8 + type = "float" + } - hooks = ( - { - type = "stats" - warmup = 3000 - } - ) - } - out = { - address = "192.168.0.6:12006" # remote machine IP and port number - } - }, - rtds-1 = { - type = "socket" - layer = "udp" - format = "gtnet" + hooks = ( + { + type = "stats" + warmup = 3000 + } + ) + } + out = { + address = "192.168.0.6:12006" # remote machine IP and port number + } + }, + rtds-1 = { + type = "socket" + layer = "udp" + format = "gtnet" - in = { - address = "*:12083" # villas node machine IP and port number + in = { + address = "*:12083" # villas node machine IP and port number - signals = { - count = 8 - type = "float" - } + signals = { + count = 8 + type = "float" + } - hooks = ( - { - type = "stats" - warmup = 3000 - } - ) - } - out = { - address = "192.168.0.4:12083" # remote machine IP and port number - } - } + hooks = ( + { + type = "stats" + warmup = 3000 + } + ) + } + out = { + address = "192.168.0.4:12083" # remote machine IP and port number + } + } } diff --git a/etc/labs/lab10_path_bidir.conf b/etc/labs/lab10_path_bidir.conf index 6c629d02b..5c7863f4f 100644 --- a/etc/labs/lab10_path_bidir.conf +++ b/etc/labs/lab10_path_bidir.conf @@ -4,22 +4,22 @@ @include "lab10_nodes.conf" paths = ( - # Each path dictionary corresponds to one way communication - { - in = [ "rpi-1" ], - out = [ "rtds-1" ] - }, - { - in = [ "rtds-1" ], - out = [ "rpi-1" ] - } + # Each path dictionary corresponds to one way communication + { + in = [ "rpi-1" ], + out = [ "rtds-1" ] + }, + { + in = [ "rtds-1" ], + out = [ "rpi-1" ] + } - # Alternatively, you can use a single path specification - # and set reverse = true - # Example: - # { - # in = [ "rpi-1" ], - # out = [ "rtds-1" ], - # reverse = true - # } + # Alternatively, you can use a single path specification + # and set reverse = true + # Example: + # { + # in = [ "rpi-1" ], + # out = [ "rtds-1" ], + # reverse = true + # } ) diff --git a/etc/labs/lab10_path_hook.conf b/etc/labs/lab10_path_hook.conf index d67a69f14..d75d4ced7 100644 --- a/etc/labs/lab10_path_hook.conf +++ b/etc/labs/lab10_path_hook.conf @@ -4,12 +4,12 @@ @include "lab10_nodes.conf" paths = ( - { - in = [ "rpi-1" ], - out = [ "rtds-1" ], + { + in = [ "rpi-1" ], + out = [ "rtds-1" ], - hooks = ( - { type = "print", output = "stdout" } - ) - } + hooks = ( + { type = "print", output = "stdout" } + ) + } ) diff --git a/etc/labs/lab10_path_multiple_destinations.conf b/etc/labs/lab10_path_multiple_destinations.conf index 56cf5267d..7ef2b6e93 100644 --- a/etc/labs/lab10_path_multiple_destinations.conf +++ b/etc/labs/lab10_path_multiple_destinations.conf @@ -4,8 +4,8 @@ @include "lab10_nodes.conf" paths = ( - { - in = [ "rtds-1" ], - out = [ "rpi-1", "rpi-2" ] - } + { + in = [ "rtds-1" ], + out = [ "rpi-1", "rpi-2" ] + } ) diff --git a/etc/labs/lab10_path_uni.conf b/etc/labs/lab10_path_uni.conf index e40b4c139..f2194875a 100644 --- a/etc/labs/lab10_path_uni.conf +++ b/etc/labs/lab10_path_uni.conf @@ -4,8 +4,8 @@ @include "lab10_nodes.conf" paths = ( - { - in = [ "rpi-1" ], - out = [ "rtds-1" ] - } + { + in = [ "rpi-1" ], + out = [ "rtds-1" ] + } ) diff --git a/etc/labs/lab11.conf b/etc/labs/lab11.conf index 3bf31a450..c5ddc1608 100644 --- a/etc/labs/lab11.conf +++ b/etc/labs/lab11.conf @@ -2,87 +2,87 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - rtds_gtnet1 = { - type = "socket" - layer = "udp" - format = "gtnet" + rtds_gtnet1 = { + type = "socket" + layer = "udp" + format = "gtnet" - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8 - type = "float" - } - } - out = { - address = "134.130.169.89:12000" - } - }, - rtds_gtnet2 = { - type = "socket" - layer = "udp" - format = "gtnet" + signals = { + count = 8 + type = "float" + } + } + out = { + address = "134.130.169.89:12000" + } + }, + rtds_gtnet2 = { + type = "socket" + layer = "udp" + format = "gtnet" - in = { - address = "*:12001" + in = { + address = "*:12001" - signals = { - count = 8 - type = "float" - } - } - out = { - address = "134.130.169.90:12001" - } - } - monitoring = { - type = "websocket" - } - monitoring_log = { - type = "file", + signals = { + count = 8 + type = "float" + } + } + out = { + address = "134.130.169.90:12001" + } + } + monitoring = { + type = "websocket" + } + monitoring_log = { + type = "file", - uri = "ftp://acs:fake@134.130.169.32/var/villas/log/monitoring_%Y-%m-%d_%H_%M_%S.dat" + uri = "ftp://acs:fake@134.130.169.32/var/villas/log/monitoring_%Y-%m-%d_%H_%M_%S.dat" - out = { + out = { - } - } + } + } } paths = ( - { - # Combine data from rtds_gtnet1 and rtds_gtnet2 - in = [ - "rtds_gtnet1.ts.origin", - "rtds_gtnet1.hdr.sequence", - "rtds_gtnet1.data[0-6]", + { + # Combine data from rtds_gtnet1 and rtds_gtnet2 + in = [ + "rtds_gtnet1.ts.origin", + "rtds_gtnet1.hdr.sequence", + "rtds_gtnet1.data[0-6]", - "rtds_gtnet2.ts.origin", - "rtds_gtnet2.hdr.sequence", - "rtds_gtnet2.data[0-6]" - ], + "rtds_gtnet2.ts.origin", + "rtds_gtnet2.hdr.sequence", + "rtds_gtnet2.data[0-6]" + ], - out = [ - "monitoring", - "monitoring_log" - ], + out = [ + "monitoring", + "monitoring_log" + ], - reverse = false, + reverse = false, - # The mode of a path determines when the path is triggered - # and forwarding samples to its destination nodes. - mode = "any", + # The mode of a path determines when the path is triggered + # and forwarding samples to its destination nodes. + mode = "any", - # List of nodes which trigger the path - mask = [ "rtds_gtnet1", "rtds_gtnet2" ], + # List of nodes which trigger the path + mask = [ "rtds_gtnet1", "rtds_gtnet2" ], - hooks = ( - # We do not want to overload the WebBrowsers - { - type = "decimate", - ratio = 10 - } - ) - } + hooks = ( + # We do not want to overload the WebBrowsers + { + type = "decimate", + ratio = 10 + } + ) + } ) diff --git a/etc/labs/lab12.conf b/etc/labs/lab12.conf index c4cee9a55..c7d9a0b94 100644 --- a/etc/labs/lab12.conf +++ b/etc/labs/lab12.conf @@ -2,49 +2,49 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node1 = { - type = "socket", - layer = "udp", + udp_node1 = { + type = "socket", + layer = "udp", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "127.0.0.1:12001" - } - }, - web_node1 = { - type = "websocket", + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "127.0.0.1:12001" + } + }, + web_node1 = { + type = "websocket", - vectorize = 2, - series = ( - { label = "Random walk", unit = "V" }, - { label = "Sine", unit = "A" }, - { label = "Rect", unit = "Var" }, - { label = "Ramp", unit = "°C" } - ) - } + vectorize = 2, + series = ( + { label = "Random walk", unit = "V" }, + { label = "Sine", unit = "A" }, + { label = "Rect", unit = "Var" }, + { label = "Ramp", unit = "°C" } + ) + } } paths = ( - { - in = [ "udp_node1" ], - out = [ "web_node1" ], + { + in = [ "udp_node1" ], + out = [ "web_node1" ], - hooks = ( - # We do not want to overload the WebBrowsers - { type = "decimate", ratio = 2 } - ) - }, - { - in = [ "web_node1" ], - out = [ "udp_node1" ] + hooks = ( + # We do not want to overload the WebBrowsers + { type = "decimate", ratio = 2 } + ) + }, + { + in = [ "web_node1" ], + out = [ "udp_node1" ] - # Web -> UDP does not require decimation - } + # Web -> UDP does not require decimation + } ) diff --git a/etc/labs/lab13.conf b/etc/labs/lab13.conf index a1cd8876d..32d6054b3 100644 --- a/etc/labs/lab13.conf +++ b/etc/labs/lab13.conf @@ -4,47 +4,47 @@ affinity = 0x8, nodes = { - rtds_gtnet1 = { - type = "socket", - layer = "udp", - format = "gtnet", + rtds_gtnet1 = { + type = "socket", + layer = "udp", + format = "gtnet", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "134.130.169.98:12000" - } - }, - rtds_gtnet2 = { - type = "socket", - layer = "udp", - format = "gtnet", + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "134.130.169.98:12000" + } + }, + rtds_gtnet2 = { + type = "socket", + layer = "udp", + format = "gtnet", - in = { - address = "*:12001" + in = { + address = "*:12001" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "134.130.169.99:12001" - } - } + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "134.130.169.99:12001" + } + } } paths = ( - { - in = "rtds_gtnet1" - out = "rtds_gtnet2" + { + in = "rtds_gtnet1" + out = "rtds_gtnet2" - reverse = true - } + reverse = true + } ) diff --git a/etc/labs/lab17.conf b/etc/labs/lab17.conf index d6d5d7045..bd5cc2d1a 100644 --- a/etc/labs/lab17.conf +++ b/etc/labs/lab17.conf @@ -2,148 +2,148 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - rtds_ss1 = { - type = "socket", - layer = "udp", - format = { - type = "gtnet" - fake = true - } + rtds_ss1 = { + type = "socket", + layer = "udp", + format = { + type = "gtnet" + fake = true + } - in = { # Local address, i.e. address of villas instance - address = "134.130.169.31:12000" + in = { # Local address, i.e. address of villas instance + address = "134.130.169.31:12000" - signals = ( - { name="trigger", type="integer" }, - { name="if1_tx_phA_dp0_mag", type="float" }, - { name="if1_tx_phA_dp0_phase", type="float" }, - { name="if1_tx_phA_dp1_mag", type="float" }, - { name="if1_tx_phA_dp1_phase", type="float" }, - { name="if1_tx_phA_dp2_mag", type="float" }, - { name="if1_tx_phA_dp2_phase", type="float" }, - { name="if1_tx_phA_dp3_mag", type="float" }, - { name="if1_tx_phA_dp3_phase", type="float" }, - { name="if1_tx_phB_dp0_mag", type="float" }, - { name="if1_tx_phB_dp0_phase", type="float" }, - { name="if1_tx_phB_dp1_mag", type="float" }, - { name="if1_tx_phB_dp1_phase", type="float" }, - { name="if1_tx_phB_dp2_mag", type="float" }, - { name="if1_tx_phB_dp2_phase", type="float" }, - { name="if1_tx_phB_dp3_mag", type="float" }, - { name="if1_tx_phB_dp3_phase", type="float" }, - { name="if1_tx_phC_dp0_mag", type="float" }, - { name="if1_tx_phC_dp0_phase", type="float" }, - { name="if1_tx_phC_dp1_mag", type="float" }, - { name="if1_tx_phC_dp1_phase", type="float" }, - { name="if1_tx_phC_dp2_mag", type="float" }, - { name="if1_tx_phC_dp2_phase", type="float" }, - { name="if1_tx_phC_dp3_mag", type="float" }, - { name="if1_tx_phC_dp3_phase", type="float" } - ) - } - - out = { # Remote address, i.e. address of GTNET card - address = "134.130.169.97:12000" # GTNET#4 -> Rack5(GPC4) - } - } - - rtds_ss2 = { - type = "socket", - layer = "udp", - format = { - type = "gtnet" - fake = true - } + signals = ( + { name="trigger", type="integer" }, + { name="if1_tx_phA_dp0_mag", type="float" }, + { name="if1_tx_phA_dp0_phase", type="float" }, + { name="if1_tx_phA_dp1_mag", type="float" }, + { name="if1_tx_phA_dp1_phase", type="float" }, + { name="if1_tx_phA_dp2_mag", type="float" }, + { name="if1_tx_phA_dp2_phase", type="float" }, + { name="if1_tx_phA_dp3_mag", type="float" }, + { name="if1_tx_phA_dp3_phase", type="float" }, + { name="if1_tx_phB_dp0_mag", type="float" }, + { name="if1_tx_phB_dp0_phase", type="float" }, + { name="if1_tx_phB_dp1_mag", type="float" }, + { name="if1_tx_phB_dp1_phase", type="float" }, + { name="if1_tx_phB_dp2_mag", type="float" }, + { name="if1_tx_phB_dp2_phase", type="float" }, + { name="if1_tx_phB_dp3_mag", type="float" }, + { name="if1_tx_phB_dp3_phase", type="float" }, + { name="if1_tx_phC_dp0_mag", type="float" }, + { name="if1_tx_phC_dp0_phase", type="float" }, + { name="if1_tx_phC_dp1_mag", type="float" }, + { name="if1_tx_phC_dp1_phase", type="float" }, + { name="if1_tx_phC_dp2_mag", type="float" }, + { name="if1_tx_phC_dp2_phase", type="float" }, + { name="if1_tx_phC_dp3_mag", type="float" }, + { name="if1_tx_phC_dp3_phase", type="float" } + ) + } - in = { - # Local address, i.e. address of villas instance - address = "134.130.169.31:12001" + out = { # Remote address, i.e. address of GTNET card + address = "134.130.169.97:12000" # GTNET#4 -> Rack5(GPC4) + } + } - signals = ( - { name="trigger", type="integer" }, - { name="if1_tx_phA_dp0_mag", type="float" }, - { name="if1_tx_phA_dp0_phase", type="float" }, - { name="if1_tx_phA_dp1_mag", type="float" }, - { name="if1_tx_phA_dp1_phase", type="float" }, - { name="if1_tx_phA_dp2_mag", type="float" }, - { name="if1_tx_phA_dp2_phase", type="float" }, - { name="if1_tx_phA_dp3_mag", type="float" }, - { name="if1_tx_phA_dp3_phase", type="float" }, - { name="if1_tx_phB_dp0_mag", type="float" }, - { name="if1_tx_phB_dp0_phase", type="float" }, - { name="if1_tx_phB_dp1_mag", type="float" }, - { name="if1_tx_phB_dp1_phase", type="float" }, - { name="if1_tx_phB_dp2_mag", type="float" }, - { name="if1_tx_phB_dp2_phase", type="float" }, - { name="if1_tx_phB_dp3_mag", type="float" }, - { name="if1_tx_phB_dp3_phase", type="float" }, - { name="if1_tx_phC_dp0_mag", type="float" }, - { name="if1_tx_phC_dp0_phase", type="float" }, - { name="if1_tx_phC_dp1_mag", type="float" }, - { name="if1_tx_phC_dp1_phase", type="float" }, - { name="if1_tx_phC_dp2_mag", type="float" }, - { name="if1_tx_phC_dp2_phase", type="float" }, - { name="if1_tx_phC_dp3_mag", type="float" }, - { name="if1_tx_phC_dp3_phase", type="float" } - ) + rtds_ss2 = { + type = "socket", + layer = "udp", + format = { + type = "gtnet" + fake = true + } - } + in = { + # Local address, i.e. address of villas instance + address = "134.130.169.31:12001" - out = { - # Remote address, i.e. address of GTNET card - address = "134.130.169.98:12000" # GTNET#5 -> Rack1(GPC4) - } - } + signals = ( + { name="trigger", type="integer" }, + { name="if1_tx_phA_dp0_mag", type="float" }, + { name="if1_tx_phA_dp0_phase", type="float" }, + { name="if1_tx_phA_dp1_mag", type="float" }, + { name="if1_tx_phA_dp1_phase", type="float" }, + { name="if1_tx_phA_dp2_mag", type="float" }, + { name="if1_tx_phA_dp2_phase", type="float" }, + { name="if1_tx_phA_dp3_mag", type="float" }, + { name="if1_tx_phA_dp3_phase", type="float" }, + { name="if1_tx_phB_dp0_mag", type="float" }, + { name="if1_tx_phB_dp0_phase", type="float" }, + { name="if1_tx_phB_dp1_mag", type="float" }, + { name="if1_tx_phB_dp1_phase", type="float" }, + { name="if1_tx_phB_dp2_mag", type="float" }, + { name="if1_tx_phB_dp2_phase", type="float" }, + { name="if1_tx_phB_dp3_mag", type="float" }, + { name="if1_tx_phB_dp3_phase", type="float" }, + { name="if1_tx_phC_dp0_mag", type="float" }, + { name="if1_tx_phC_dp0_phase", type="float" }, + { name="if1_tx_phC_dp1_mag", type="float" }, + { name="if1_tx_phC_dp1_phase", type="float" }, + { name="if1_tx_phC_dp2_mag", type="float" }, + { name="if1_tx_phC_dp2_phase", type="float" }, + { name="if1_tx_phC_dp3_mag", type="float" }, + { name="if1_tx_phC_dp3_phase", type="float" } + ) - rtds_ss1_monitoring = { - type = "socket" - layer = "udp" - format = { - type = "gtnet" - fake = true - } + } - in = { # Local address, i.e. address of villas instance - address = "134.130.169.31:12002" - - signals = ( - { name="orgn_V3phRMSintrf", type="float", unit="V" }, - { name="orgn_Pintrf", type="float", unit="W" }, - { name="orgn_Qintrf", type="float", unit="Var" }, - { name="orgn_Sintrf", type="float", unit="VA" }, - { name="if1_V3phRMS", type="float", unit="V" }, - { name="if1_I3phRMS", type="float", unit="A" }, - { name="if1_P", type="float", unit="W" }, - { name="if1_Q", type="float", unit="Var" }, - { name="if1_S", type="float", unit="VA" } - ) - } - - out = { # Remote address, i.e. address of GTNET card - address = "134.130.169.97:12000" - } - } + out = { + # Remote address, i.e. address of GTNET card + address = "134.130.169.98:12000" # GTNET#5 -> Rack1(GPC4) + } + } + + rtds_ss1_monitoring = { + type = "socket" + layer = "udp" + format = { + type = "gtnet" + fake = true + } + + in = { # Local address, i.e. address of villas instance + address = "134.130.169.31:12002" + + signals = ( + { name="orgn_V3phRMSintrf", type="float", unit="V" }, + { name="orgn_Pintrf", type="float", unit="W" }, + { name="orgn_Qintrf", type="float", unit="Var" }, + { name="orgn_Sintrf", type="float", unit="VA" }, + { name="if1_V3phRMS", type="float", unit="V" }, + { name="if1_I3phRMS", type="float", unit="A" }, + { name="if1_P", type="float", unit="W" }, + { name="if1_Q", type="float", unit="Var" }, + { name="if1_S", type="float", unit="VA" } + ) + } + + out = { # Remote address, i.e. address of GTNET card + address = "134.130.169.97:12000" + } + } - web_monitoring = { - type = "websocket" + web_monitoring = { + type = "websocket" - destinations = [ - "https://villas.k8s.eonerc.rwth-aachen.de//ws/relay/lab17" - ] - } + destinations = [ + "https://villas.k8s.eonerc.rwth-aachen.de//ws/relay/lab17" + ] + } } paths = ( - { - in = "rtds_ss1", - out = "rtds_ss2", - reverse = true - }, - { - enabled = false, - in = "rtds_ss1_monitoring", - out = "web_monitoring", - reverse = true - } + { + in = "rtds_ss1", + out = "rtds_ss2", + reverse = true + }, + { + enabled = false, + in = "rtds_ss1_monitoring", + out = "web_monitoring", + reverse = true + } ) diff --git a/etc/labs/lab3.conf b/etc/labs/lab3.conf index 490ad8564..6a182a2f3 100644 --- a/etc/labs/lab3.conf +++ b/etc/labs/lab3.conf @@ -2,20 +2,20 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node1 = { - type = "socket", - layer = "udp", + udp_node1 = { + type = "socket", + layer = "udp", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 3 - type = "float" - } - }, - out = { - address = "127.0.0.1:12001" - } - } + signals = { + count = 3 + type = "float" + } + }, + out = { + address = "127.0.0.1:12001" + } + } } diff --git a/etc/labs/lab4.conf b/etc/labs/lab4.conf index 0dd83a32d..0b30ec7c9 100644 --- a/etc/labs/lab4.conf +++ b/etc/labs/lab4.conf @@ -2,20 +2,20 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node1 = { - type = "socket", - layer = "udp", + udp_node1 = { + type = "socket", + layer = "udp", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "127.0.0.1:12001" - } - } + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "127.0.0.1:12001" + } + } } diff --git a/etc/labs/lab5.conf b/etc/labs/lab5.conf index 3085dbe74..7706c7675 100644 --- a/etc/labs/lab5.conf +++ b/etc/labs/lab5.conf @@ -2,21 +2,21 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - rtds_gtnet1 = { - type = "socket", - layer = "udp", - format = "gtnet", + rtds_gtnet1 = { + type = "socket", + layer = "udp", + format = "gtnet", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "134.130.169.89:12000" - } - } + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "134.130.169.89:12000" + } + } } diff --git a/etc/labs/lab7.conf b/etc/labs/lab7.conf index 5217a31bb..1950214b6 100644 --- a/etc/labs/lab7.conf +++ b/etc/labs/lab7.conf @@ -2,13 +2,13 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - file_node1 = { - type = "file", + file_node1 = { + type = "file", - uri = "file_send.dat" - - in = { - - } - } + uri = "file_send.dat" + + in = { + + } + } } diff --git a/etc/labs/lab8.conf b/etc/labs/lab8.conf index a4f12ab4e..f8660fd8c 100644 --- a/etc/labs/lab8.conf +++ b/etc/labs/lab8.conf @@ -2,47 +2,47 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node1 = { - type = "socket" - layer = "udp" + udp_node1 = { + type = "socket" + layer = "udp" - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = ( - { name = "sig1", type = "float" }, - { name = "sig2", type = "float" }, - { name = "sig3", type = "float" }, - { name = "sig4", type = "float" } - ) - } - out = { - address = "127.0.0.1:12001" - } - } + signals = ( + { name = "sig1", type = "float" }, + { name = "sig2", type = "float" }, + { name = "sig3", type = "float" }, + { name = "sig4", type = "float" } + ) + } + out = { + address = "127.0.0.1:12001" + } + } } paths = ( - { - in = [ "udp_node1" ] - out = [ "udp_node1" ] + { + in = [ "udp_node1" ] + out = [ "udp_node1" ] - hooks = ( - { - type = "decimate" - priority = 1 + hooks = ( + { + type = "decimate" + priority = 1 - # Hook specific parameters follow - # [parameter1] = [value1] - ratio = 2 - }, - { - type = "scale" + # Hook specific parameters follow + # [parameter1] = [value1] + ratio = 2 + }, + { + type = "scale" - signal = "sig3" - offset = 10.0 - scale = 2.5 - } - ) - } + signal = "sig3" + offset = 10.0 + scale = 2.5 + } + ) + } ) diff --git a/etc/labs/lab9_netem.conf b/etc/labs/lab9_netem.conf index 849a467bb..5ac34f107 100644 --- a/etc/labs/lab9_netem.conf +++ b/etc/labs/lab9_netem.conf @@ -2,30 +2,30 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - udp_node1 = { - type = "socket", - layer = "udp", + udp_node1 = { + type = "socket", + layer = "udp", - in = { - address = "*:12000" + in = { + address = "*:12000" - signals = { - count = 8, - type = "float" - } - }, - out = { - address = "127.0.0.1:12001", + signals = { + count = 8, + type = "float" + } + }, + out = { + address = "127.0.0.1:12001", - netem = { - enabled = true, - loss = 0, # in % - corrupt = 0, # in % - duplicate = 0, # in % - delay = 100000, # in uS - jitter = 5000, # in uS - distribution = "normal" - } - } - } + netem = { + enabled = true, + loss = 0, # in % + corrupt = 0, # in % + duplicate = 0, # in % + delay = 100000, # in uS + jitter = 5000, # in uS + distribution = "normal" + } + } + } } diff --git a/etc/loopback.conf b/etc/loopback.conf index 75a470151..3a3140c9c 100644 --- a/etc/loopback.conf +++ b/etc/loopback.conf @@ -30,65 +30,65 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - node1 = { - type = "socket" - layer = "udp" + node1 = { + type = "socket" + layer = "udp" - in = { - address = "127.0.0.1:12000" # Local ip:port, use '*' for random port - } - out = { - address = "127.0.0.1:12001" + in = { + address = "127.0.0.1:12000" # Local ip:port, use '*' for random port + } + out = { + address = "127.0.0.1:12001" - netem = { - enabled = false - delay = 1000000 # In micro seconds! - jitter = 300000 - distribution = "normal" - } - } - }, - node2 = { - type = "socket" - layer = "udp" - in = { - address = "127.0.0.1:12001" # Local ip:port, use '*' for random port - } - out = { - address = "127.0.0.1:12002" - } - }, - node3 = { - type = "socket" - layer = "udp" - in = { - address = "127.0.0.1:12002" # Local ip:port, use '*' for random port - } - out = { - address = "127.0.0.1:12000" - } - }, - loopback = { - type = "socket" - layer = "udp" - in = { - address = "127.0.0.1:12003" # Local ip:port, use '*' for random port - } - out = { - address = "127.0.0.1:12003" - } - } + netem = { + enabled = false + delay = 1000000 # In micro seconds! + jitter = 300000 + distribution = "normal" + } + } + }, + node2 = { + type = "socket" + layer = "udp" + in = { + address = "127.0.0.1:12001" # Local ip:port, use '*' for random port + } + out = { + address = "127.0.0.1:12002" + } + }, + node3 = { + type = "socket" + layer = "udp" + in = { + address = "127.0.0.1:12002" # Local ip:port, use '*' for random port + } + out = { + address = "127.0.0.1:12000" + } + }, + loopback = { + type = "socket" + layer = "udp" + in = { + address = "127.0.0.1:12003" # Local ip:port, use '*' for random port + } + out = { + address = "127.0.0.1:12003" + } + } } paths = ( - { - in = "node1" # Name of the node we listen to (see above) - out = "node2" # And we loop back to the origin - - hooks = ( - { - type = "print" - } - ) - } + { + in = "node1" # Name of the node we listen to (see above) + out = "node2" # And we loop back to the origin + + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/shmem_mqtt.conf b/etc/shmem_mqtt.conf index f73c928cb..72e43c4fe 100644 --- a/etc/shmem_mqtt.conf +++ b/etc/shmem_mqtt.conf @@ -1,79 +1,79 @@ # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 - + nodes = { - sig = { - type = "signal" + sig = { + type = "signal" - signal = "sine" - } + signal = "sine" + } - dpsim = { - enabled = false, - type = "shmem", - in = { - name = "/dpsim-villas", # Name of shared memory segment for sending side - hooks = ( - { type = "stats" } - ), - signals = { - # count = 2, - # type = "float" - count = 1, - type = "complex" - } - }, - out = { - name = "/villas-dpsim" # Name of shared memory segment for receiving side - signals = { - count = 1, - type = "complex" - } + dpsim = { + enabled = false, + type = "shmem", + in = { + name = "/dpsim-villas", # Name of shared memory segment for sending side + hooks = ( + { type = "stats" } + ), + signals = { + # count = 2, + # type = "float" + count = 1, + type = "complex" + } + }, + out = { + name = "/villas-dpsim" # Name of shared memory segment for receiving side + signals = { + count = 1, + type = "complex" + } - }, - queuelen = 1024, # Length of the queues - polling = true, # We can busy-wait or use pthread condition variables for synchronizations - }, + }, + queuelen = 1024, # Length of the queues + polling = true, # We can busy-wait or use pthread condition variables for synchronizations + }, - broker = { - type = "mqtt", - format = "json", - #host = "localhost", - host = "137.226.133.157" - port = 1883, - retain = false, + broker = { + type = "mqtt", + format = "json", + #host = "localhost", + host = "137.226.133.157" + port = 1883, + retain = false, - out = { - publish = "dpsim->dist" - } + out = { + publish = "dpsim->dist" + } - in = { - subscribe = "dist->dpsim", + in = { + subscribe = "dist->dpsim", - signals = { - count = 1, - type = "complex" - } - } - } + signals = { + count = 1, + type = "complex" + } + } + } } paths = ( - { - enabled = false - in = "sig", - out = "broker", + { + enabled = false + in = "sig", + out = "broker", - # mode: any/all - # Condition of which/how many source nodes have to receive - # at least one sample for the path to be triggered - mode = "any", + # mode: any/all + # Condition of which/how many source nodes have to receive + # at least one sample for the path to be triggered + mode = "any", # reverse = true - } - # ,{ - # in = "nano"; - # out = "dpsim"; - # mode = "any" - # } + } + # ,{ + # in = "nano"; + # out = "dpsim"; + # mode = "any" + # } ) diff --git a/etc/syslab-zmq.conf b/etc/syslab-zmq.conf index fa22731c6..f39c1aba5 100644 --- a/etc/syslab-zmq.conf +++ b/etc/syslab-zmq.conf @@ -1,29 +1,29 @@ # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 - + nodes = { - b2b = { - type = "zeromq" - format = "protobuf" + b2b = { + type = "zeromq" + format = "protobuf" - in = { - subscribe = "tcp://*:12000" - bind = true - filter = "syslab" + in = { + subscribe = "tcp://*:12000" + bind = true + filter = "syslab" - hooks = ( - { - type = "stats" + hooks = ( + { + type = "stats" - warmup = 10 - verbose = true - } - ) - } - out = { - publish = "tcp://*:12001" - bind = true - filter = "syslab" - } - } + warmup = 10 + verbose = true + } + ) + } + out = { + publish = "tcp://*:12001" + bind = true + filter = "syslab" + } + } } diff --git a/etc/test.conf b/etc/test.conf index 3adca8344..2be21ba46 100644 --- a/etc/test.conf +++ b/etc/test.conf @@ -1,22 +1,22 @@ # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 - -nodes = { - signal = { - type = "signal" - signal = "mixed" - values = 5 - } +nodes = { + signal = { + type = "signal" + + signal = "mixed" + values = 5 + } } paths = ( - { - in = "signal" - hooks = ( - { - type = "print" - } - ) - } + { + in = "signal" + hooks = ( + { + type = "print" + } + ) + } ) diff --git a/etc/tricks/nodes/node_sig1.conf b/etc/tricks/nodes/node_sig1.conf index a252fdf13..060f197a1 100644 --- a/etc/tricks/nodes/node_sig1.conf +++ b/etc/tricks/nodes/node_sig1.conf @@ -2,6 +2,6 @@ # SPDX-License-Identifier: Apache-2.0 sig1 = { - type = "signal" - signal = "sine" + type = "signal" + signal = "sine" } diff --git a/etc/tricks/nodes/node_sig2.conf b/etc/tricks/nodes/node_sig2.conf index 51880a1c1..c5c19375f 100644 --- a/etc/tricks/nodes/node_sig2.conf +++ b/etc/tricks/nodes/node_sig2.conf @@ -2,6 +2,6 @@ # SPDX-License-Identifier: Apache-2.0 sig2 = { - type = "signal" - signal = "sine" + type = "signal" + signal = "sine" } diff --git a/etc/websocket-client.conf b/etc/websocket-client.conf index 7b8744b99..6450308f2 100644 --- a/etc/websocket-client.conf +++ b/etc/websocket-client.conf @@ -9,24 +9,24 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - sig = { - type = "signal", + sig = { + type = "signal", - signal = "sine" - } + signal = "sine" + } - relay = { - type = "websocket", + relay = { + type = "websocket", - destinations = [ - "https://villas.k8s.eonerc.rwth-aachen.de/ws/relay/node_1" - ] - } + destinations = [ + "https://villas.k8s.eonerc.rwth-aachen.de/ws/relay/node_1" + ] + } } paths = ( - { - in = "sig" - out = "relay" - } + { + in = "sig" + out = "relay" + } ) diff --git a/etc/websocket-demo.conf b/etc/websocket-demo.conf index 879d54758..151c6acd3 100644 --- a/etc/websocket-demo.conf +++ b/etc/websocket-demo.conf @@ -9,69 +9,69 @@ # SPDX-License-Identifier: Apache-2.0 nodes = { - sig = { - type = "signal", + sig = { + type = "signal", - signal = "mixed", - values = 5, - rate = 20, - in = { - hooks = ( - { type = "stats" } - ) - } - }, - ws_sig = { - type = "websocket", - description = "Demo Channel", - out = { - signals = ( - { name = "Random walk", unit = "V", type = "float" }, - { name = "Sine", unit = "A", type = "float" }, - { name = "Rect", unit = "Var", type = "float" }, - { name = "Ramp", unit = "°C", type = "float" } - ), - } - in = { - signals = ( ) - hooks = ( - { type = "stats" }, - { type = "print" } - ) - } - }, + signal = "mixed", + values = 5, + rate = 20, + in = { + hooks = ( + { type = "stats" } + ) + } + }, + ws_sig = { + type = "websocket", + description = "Demo Channel", + out = { + signals = ( + { name = "Random walk", unit = "V", type = "float" }, + { name = "Sine", unit = "A", type = "float" }, + { name = "Rect", unit = "Var", type = "float" }, + { name = "Ramp", unit = "°C", type = "float" } + ), + } + in = { + signals = ( ) + hooks = ( + { type = "stats" }, + { type = "print" } + ) + } + }, - ws_lo = { - type = "websocket", - description = "Loopback", - out = { - signals = ( - { name = "slider", type = "float" }, - { name = "buttons", type = "float" } - ), - } - in = { - signals = ( - { name = "slider", type = "float" }, - { name = "buttons", type = "float" } - ) - hooks = ( - { type = "stats" }, - { type = "print" } - ) - } - } + ws_lo = { + type = "websocket", + description = "Loopback", + out = { + signals = ( + { name = "slider", type = "float" }, + { name = "buttons", type = "float" } + ), + } + in = { + signals = ( + { name = "slider", type = "float" }, + { name = "buttons", type = "float" } + ) + hooks = ( + { type = "stats" }, + { type = "print" } + ) + } + } } ## List of paths paths = ( - { - in = "sig", - out = "ws_sig" - }, - { - in = "ws_lo", - out = "ws_lo" - } + { + in = "sig", + out = "ws_sig" + }, + { + in = "ws_lo", + out = "ws_lo" + } ) diff --git a/tests/benchmarks/configs/infiniband.conf b/tests/benchmarks/configs/infiniband.conf index f88ffeb11..e6cad3b3d 100644 --- a/tests/benchmarks/configs/infiniband.conf +++ b/tests/benchmarks/configs/infiniband.conf @@ -1,11 +1,11 @@ # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 - + source_node = { type = "infiniband", rdma_transport_mode = "${IB_MODE}", - + in = { address = "10.0.0.2:1337", @@ -17,7 +17,7 @@ source_node = { out = { address = "10.0.0.1:1337", resolution_timeout = 1000, - + max_wrs = 4096, cq_size = 5000, periodic_signalling = 4500, @@ -34,7 +34,7 @@ target_node = { type = "infiniband", rdma_transport_mode = "${IB_MODE}", - + in = { address = "10.0.0.1:1337", @@ -43,10 +43,10 @@ target_node = { buffer_subtraction = 128, - signals = { - count = ${NUM_VALUE}, - type = "float" - } + signals = { + count = ${NUM_VALUE}, + type = "float" + } } } diff --git a/tests/benchmarks/configs/socket.conf b/tests/benchmarks/configs/socket.conf index 724834f2c..c457f2e6c 100644 --- a/tests/benchmarks/configs/socket.conf +++ b/tests/benchmarks/configs/socket.conf @@ -2,38 +2,38 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "socket", + type = "socket", - builtin = false, + builtin = false, - layer = "udp", - format = "csv", + layer = "udp", + format = "csv", - in = { - address = "127.0.0.1:12000" - }, + in = { + address = "127.0.0.1:12000" + }, - out = { - address = "127.0.0.1:12001" - } + out = { + address = "127.0.0.1:12001" + } }, -target_node = { - type = "socket", +target_node = { + type = "socket", - builtin = false, + builtin = false, - layer = "udp", - format = "csv", + layer = "udp", + format = "csv", - in = { + in = { signals = { count = ${NUM_VALUE}, type = "float" }, - address = "127.0.0.1:12001" - }, - out = { - address = "127.0.0.1:12000" - } + address = "127.0.0.1:12001" + }, + out = { + address = "127.0.0.1:12000" + } }