diff --git a/clients/matlab/villas.conf b/clients/matlab/villas.conf index 1c18fe34f..a0a64ca18 100644 --- a/clients/matlab/villas.conf +++ b/clients/matlab/villas.conf @@ -3,28 +3,28 @@ nodes = { signal = { - type = "signal", + type = "signal" signal = "mixed" values = 5 rate = 100 - }, + } matlab = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" format = { - type = "raw", + type = "raw" bits = 32 endianess = "big" } in = { address = "*:12001" - }, + } out = { address = "134.61.142.128:12000" signals = { - count = 5, + count = 5 type = "float" } } diff --git a/etc/eric-lab.conf b/etc/eric-lab.conf index 9cf9954ca..00e8490f5 100644 --- a/etc/eric-lab.conf +++ b/etc/eric-lab.conf @@ -64,7 +64,7 @@ nodes = { paths = ( { - in = "socket2", + in = "socket2" out = "ws" } ) diff --git a/etc/examples/api.conf b/etc/examples/api.conf index 83cf35fd7..c849c7fce 100644 --- a/etc/examples/api.conf +++ b/etc/examples/api.conf @@ -12,33 +12,33 @@ nodes = { in = { signals = ( { - name = "sig1_in", - type = "float", - unit = "V", - description = "Signal 1", - rate = 100, - readable = true, - writable = false, + 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, + 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, + name = "sig3_in" + type = "float" + unit = "A" + description = "Signal 1" + rate = 100 + readable = true + writable = false payload = "samples" } ) @@ -49,24 +49,24 @@ nodes = { # 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, + description = "Signal 1" + rate = 100 + readable = true + writable = false payload = "samples" }, { - description = "Signal 1", - rate = 100, - readable = true, - writable = false, + description = "Signal 1" + rate = 100 + readable = true + writable = false payload = "samples" }, { - description = "Signal 1", - rate = 100, - readable = true, - writable = false, + description = "Signal 1" + rate = 100 + readable = true + writable = false payload = "samples" } ) @@ -86,7 +86,8 @@ paths = ( { in = [ "api_node" - ], + ] + hooks = ( "print" ) diff --git a/etc/examples/global.conf b/etc/examples/global.conf index 6e3403d71..167759087 100644 --- a/etc/examples/global.conf +++ b/etc/examples/global.conf @@ -37,7 +37,7 @@ logging = { http = { # Do not listen on port if true - enabled = true, + enabled = true # Port for HTTP connections port = 80 diff --git a/etc/examples/hooks/ip-dft-pmu.conf b/etc/examples/hooks/ip-dft-pmu.conf index de9a9c1a2..55ec55c85 100644 --- a/etc/examples/hooks/ip-dft-pmu.conf +++ b/etc/examples/hooks/ip-dft-pmu.conf @@ -10,26 +10,26 @@ paths = ( hooks = ( { - type = "pmu", + type = "pmu" signals = ( "sine" ) # Sample rate of the input signal - sample_rate = 1000, + sample_rate = 1000 # Number of phasors calculated per second - dft_rate = 10, + dft_rate = 10 # Yhe range around the nominal_freq in with the estimation is done - estimation_range = 10, + estimation_range = 10 - # Yhe nominal grid frequnecy - nominal_freq = 50, + # The nominal grid frequency + nominal_freq = 50 - # Yhe number of power line cylces stored in the buffer - number_plc = 10., + # The number of power line cycles stored in the buffer + number_plc = 10.0 # One of: rad, degree angle_unit = "rad" diff --git a/etc/examples/hooks/ma.conf b/etc/examples/hooks/ma.conf index de2d925f9..355bbb1d3 100644 --- a/etc/examples/hooks/ma.conf +++ b/etc/examples/hooks/ma.conf @@ -10,7 +10,7 @@ paths = ( hooks = ( { - type = "ma", + type = "ma" window_size = 1000 diff --git a/etc/examples/hooks/pmu.conf b/etc/examples/hooks/pmu.conf index 238bd002c..eebb73ae1 100644 --- a/etc/examples/hooks/pmu.conf +++ b/etc/examples/hooks/pmu.conf @@ -10,23 +10,23 @@ paths = ( hooks = ( { - type = "pmu", + type = "pmu" signals = ( "sine" ) # Sample rate of the input signal - sample_rate = 1000, + sample_rate = 1000 # Number of phasors calculated per second - dft_rate = 10, + dft_rate = 10 - # The nominal grid frequnecy - nominal_freq = 50, + # The nominal grid frequency + nominal_freq = 50 - # The number of power line cylces stored in the buffer - number_plc = 10., + # The number of power line cycles stored in the buffer + number_plc = 10.0 # One of: rad, degree angle_unit = "rad" diff --git a/etc/examples/hooks/pmu_dft.conf b/etc/examples/hooks/pmu_dft.conf index 0f1c669a5..dbf5d0b2c 100644 --- a/etc/examples/hooks/pmu_dft.conf +++ b/etc/examples/hooks/pmu_dft.conf @@ -10,41 +10,41 @@ paths = ( hooks = ( { - type = "pmu_dft", + type = "pmu_dft" signals = ( "sine" ) # Sample rate of the input signal - sample_rate = 1000, + sample_rate = 1000 # Number of phasors calculated per second - dft_rate = 10, + dft_rate = 10 # Lowest frequency bin - start_frequency = 49.7, + start_frequency = 49.7 # Highest frequency bin - end_frequency = 50.3, + end_frequency = 50.3 # Frequency bin resolution - frequency_resolution = 0.1, + frequency_resolution = 0.1 # A factor with which the window will be increased - window_size_factor = 1, + window_size_factor = 1 # One of: flattop, hamming, hann - window_type = "hamming", + window_type = "hamming" # One of: signal_repeat, zero - padding_type = "zero", + padding_type = "zero" # One of: quadratic - frequency_estimate_type = "quadratic", + frequency_estimate_type = "quadratic" # Signal index of the PPS signal - pps_index = 0, + pps_index = 0 # One of: rad, degree angle_unit = "rad" diff --git a/etc/examples/hooks/power.conf b/etc/examples/hooks/power.conf index f5f86144e..cbc2be105 100644 --- a/etc/examples/hooks/power.conf +++ b/etc/examples/hooks/power.conf @@ -10,7 +10,7 @@ paths = ( hooks = ( { - type = "power", + type = "power" angle_unit = "degree" window_size = 1000 timestamp_align = "center" diff --git a/etc/examples/hooks/print.conf b/etc/examples/hooks/print.conf index 466b8adc3..c28738162 100644 --- a/etc/examples/hooks/print.conf +++ b/etc/examples/hooks/print.conf @@ -10,7 +10,7 @@ paths = ( hooks = ( { - type = "print", + type = "print" output = "print_output_file.log" format = "villas.human" diff --git a/etc/examples/hooks/rms.conf b/etc/examples/hooks/rms.conf index 0c54c3413..61f8f7521 100644 --- a/etc/examples/hooks/rms.conf +++ b/etc/examples/hooks/rms.conf @@ -10,7 +10,7 @@ paths = ( hooks = ( { - type = "rms", + type = "rms" window_size = 1000 diff --git a/etc/examples/nodes/amqp.conf b/etc/examples/nodes/amqp.conf index fc1573076..6dd19c598 100644 --- a/etc/examples/nodes/amqp.conf +++ b/etc/examples/nodes/amqp.conf @@ -3,28 +3,28 @@ nodes = { amqp_node = { - type = "amqp", - format = "json", + type = "amqp" + format = "json" # Use 'amqps://' to enable SSL/TLS - uri = "amqp://username:password@example.com:1234/vhost", + uri = "amqp://username:password@example.com:1234/vhost" # Alternatively connection settings can be specified individually - username = "guest", - password = "guest", - host = "localhost", - vhost = "/", - port = 5672, + 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, + verify_hostname = true + verify_peer = true - ca_cert = "/path/to/ca.crt", - client_cert = "/path/to/client.crt", + ca_cert = "/path/to/ca.crt" + client_cert = "/path/to/client.crt" client_key = "/path/to/client.key" } } diff --git a/etc/examples/nodes/can.conf b/etc/examples/nodes/can.conf index 52b0933f3..66f0eefb8 100644 --- a/etc/examples/nodes/can.conf +++ b/etc/examples/nodes/can.conf @@ -10,30 +10,30 @@ nodes = { in = { signals = ( { - name = "sigin1", - unit = "Volts", - type = "float", - enabled = true, - can_id = 66, - can_size = 4, + 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, + 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, + name = "sigin3" + unit = "Volts" + type = "float" + enabled = true + can_id = 67 + can_size = 8 can_offset = 0 } ) @@ -42,21 +42,21 @@ nodes = { out = { signals = ( { - type = "float", - can_id = 66, - can_size = 4, + type = "float" + can_id = 66 + can_size = 4 can_offset = 0 }, { - type = "float", - can_id = 66, - can_size = 4, + type = "float" + can_id = 66 + can_size = 4 can_offset = 4 }, { - type = "float", - can_id = 67, - can_size = 8, + 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 d77bb30e8..fa4f93c39 100644 --- a/etc/examples/nodes/comedi.conf +++ b/etc/examples/nodes/comedi.conf @@ -3,12 +3,12 @@ nodes = { pcie6259 = { - type = "comedi", + type = "comedi" - device = "/dev/comedi0", + device = "/dev/comedi0" in = { - subdevice = 0, - rate = 1000, + subdevice = 0 + rate = 1000 signals = ( # Note: order in this array defines order in villas sample @@ -17,14 +17,14 @@ nodes = { { channel = 2, range = 0, aref = 0, name = "loopback_ao1" }, { channel = 3, range = 0, aref = 0, name = "bnc_ext" } ) - }, + } out = { - subdevice = 1, + subdevice = 1 # Note: buffer size and rate shouldn't be changed at the moment # output sample rate - rate = 40000, + rate = 40000 # Comedi write buffer in kilobytes - bufsize = 24, + bufsize = 24 signals = ( # Note: order in this array corresponds to order in villas sample @@ -34,35 +34,38 @@ nodes = { { name = "ao3", channel = 3, range = 0, aref = 0 } ) } - }, + } remote = { - type = "socket", + type = "socket" layer = "udp" - format = "protobuf", + format = "protobuf" in = { address = "*:12000" - }, + } + out = { address = "134.130.169.32:12000" } - }, + } sine1 = { - type = "signal", - signal = "sine", - values = 1, - frequency = 50, - rate = 10000, - }, + type = "signal" + + signal = "sine" + values = 1 + frequency = 50 + rate = 10000 + } sine2 = { - type = "signal", - signal = "sine", - values = 1, - frequency = 100, - rate = 10000, + type = "signal" + + signal = "sine" + values = 1 + frequency = 100 + rate = 10000 } } diff --git a/etc/examples/nodes/file.conf b/etc/examples/nodes/file.conf index 609846ffd..6a5c2ab42 100644 --- a/etc/examples/nodes/file.conf +++ b/etc/examples/nodes/file.conf @@ -7,7 +7,7 @@ nodes = { # These options specify the URI where the the files are stored # The URI accepts all format tokens of (see strftime(3)) - uri = "logs/input.log", + uri = "logs/input.log" # uri = "logs/output_%F_%T.log" format = "csv" @@ -30,7 +30,8 @@ nodes = { # Creates a stream buffer if value is positive buffer_size = 0 - }, + } + out = { # Flush or upload contents of the file every time new samples are sent flush = false diff --git a/etc/examples/nodes/fpga-miob.conf b/etc/examples/nodes/fpga-miob.conf index 92337b200..8d764f740 100644 --- a/etc/examples/nodes/fpga-miob.conf +++ b/etc/examples/nodes/fpga-miob.conf @@ -7,36 +7,37 @@ logging = { fpgas = { zcu106 = { - interface = "platform", - ips = "../../fpga/zcu106-dino/zcu106-dino.json", - #ignore_ips = ["dino_dinoif_dac_0", "dino_dinoif_fast_nologic_0"], # Optionally ignore IPs - polling = true, + interface = "platform" + ips = "../../fpga/zcu106-dino/zcu106-dino.json" + #ignore_ips = ["dino_dinoif_dac_0", "dino_dinoif_fast_nologic_0"] # Optionally ignore IPs + polling = true } } nodes = { fpga_0 = { - type = "fpga", + type = "fpga" card = "zcu106" # connect = ["dino<->dma"] # Alternate HW Loopback connect = ["0<->dma"] # Loopback - lowLatencyMode = false, - }, + lowLatencyMode = false + } signal_gen_0 = { - type = "signal.v2", - realtime = true, - rate = 2, + type = "signal.v2" + realtime = true + rate = 2 + in = { signals = ( { - name = "sine.v2", - signal = "sine", - frequency = 0.1, - amplitude = 10, + name = "sine.v2" + signal = "sine" + frequency = 0.1 + amplitude = 10 } ) - }, + } } } diff --git a/etc/examples/nodes/iec61850-9-2.conf b/etc/examples/nodes/iec61850-9-2.conf index 4fbd00ab7..c880e0c16 100644 --- a/etc/examples/nodes/iec61850-9-2.conf +++ b/etc/examples/nodes/iec61850-9-2.conf @@ -20,7 +20,7 @@ nodes = { smp_mod = "samples_per_second" smp_synch = "local_clock" conf_rev = 55 - }, + } in = { signals = ( diff --git a/etc/examples/nodes/infiniband.conf b/etc/examples/nodes/infiniband.conf index 502acd8b4..afa063b99 100644 --- a/etc/examples/nodes/infiniband.conf +++ b/etc/examples/nodes/infiniband.conf @@ -3,67 +3,67 @@ nodes = { results = { - type = "file", + 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", + 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", + type = "infiniband" - rdma_port_space = "RC", + rdma_port_space = "RC" in = { - address = "10.0.0.2:1337", + address = "10.0.0.2:1337" - max_wrs = 8192, - cq_size = 8192, + max_wrs = 8192 + cq_size = 8192 - vectorize = 1, + vectorize = 1 - buffer_subtraction = 128, - }, + buffer_subtraction = 128 + } out = { - address = "10.0.0.1:1337", - resolution_timeout = 1000, + address = "10.0.0.1:1337" + resolution_timeout = 1000 - max_wrs = 8192, - cq_size = 256, + max_wrs = 8192 + cq_size = 256 - vectorize = 1, + vectorize = 1 - send_inline = true, - max_inline_data = 60, + send_inline = true + max_inline_data = 60 - use_fallback = true, + use_fallback = true } } ib_node_target = { - type = "infiniband", + type = "infiniband" - rdma_port_space = "RC", + rdma_port_space = "RC" in = { - address = "10.0.0.1:1337", + address = "10.0.0.1:1337" - max_wrs = 8192, - cq_size = 8192, + max_wrs = 8192 + cq_size = 8192 - vectorize = 1, + vectorize = 1 - buffer_subtraction = 128, + buffer_subtraction = 128 hooks = ( { type = "stats", verbose = true } diff --git a/etc/examples/nodes/influxdb.conf b/etc/examples/nodes/influxdb.conf index d2b10198c..4b97d174d 100644 --- a/etc/examples/nodes/influxdb.conf +++ b/etc/examples/nodes/influxdb.conf @@ -3,9 +3,9 @@ nodes = { influxdb_node = { - type = "influxdb", + type = "influxdb" - server = "localhost:8089", + server = "localhost:8089" key = "villas" } } diff --git a/etc/examples/nodes/kafka.conf b/etc/examples/nodes/kafka.conf index 8179982b7..4f74d5be6 100644 --- a/etc/examples/nodes/kafka.conf +++ b/etc/examples/nodes/kafka.conf @@ -3,28 +3,30 @@ nodes = { kafka_node = { - type = "kafka", + type = "kafka" - format = "json.kafka", + format = "json.kafka" - server = "localhost:9094", - protocol = "SASL_SSL", - client_id = "villas-node", + server = "localhost:9094" + protocol = "SASL_SSL" + client_id = "villas-node" in = { - consume = "test-topic", + consume = "test-topic" group_id = "villas-node" - }, + } + out = { produce = "test-topic" - }, + } ssl = { - ca = "/etc/ssl/certs/ca.pem", - }, + ca = "/etc/ssl/certs/ca.pem" + } + sasl = { - mechanisms = "SCRAM-SHA-512", - username = "scram-sha-512-usr", + 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 ab1ff9ebf..93137c6a2 100644 --- a/etc/examples/nodes/loopback.conf +++ b/etc/examples/nodes/loopback.conf @@ -4,11 +4,11 @@ nodes = { loopback_node = { # A loopback node will receive exactly the same data which has been sent to it - type = "loopback", + type = "loopback" # The internal implementation is based on queue # The queue length of the internal queue which buffers the samples - queuelen = 1024, + queuelen = 1024 # Use busy polling for synchronization of the read and write side of the queue mode = "polling" diff --git a/etc/examples/nodes/modbus.conf b/etc/examples/nodes/modbus.conf index 3c7fe9d59..701cce3a7 100644 --- a/etc/examples/nodes/modbus.conf +++ b/etc/examples/nodes/modbus.conf @@ -161,7 +161,7 @@ nodes = { # 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 9fa35b20b..1204941fe 100644 --- a/etc/examples/nodes/mqtt.conf +++ b/etc/examples/nodes/mqtt.conf @@ -3,31 +3,33 @@ nodes = { mqtt_node = { - type = "mqtt", + type = "mqtt" - format = "protobuf", + format = "protobuf" - username = "guest", - password = "guest", - host = "localhost", - port = 1883, + username = "guest" + password = "guest" + host = "localhost" + port = 1883 # Send ping every 5 seconds to keep connection alive - keepalive = 5, - retain = false, - qos = 0, + keepalive = 5 + 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", + 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 40e751d6e..714981e90 100644 --- a/etc/examples/nodes/nanomsg.conf +++ b/etc/examples/nodes/nanomsg.conf @@ -3,7 +3,7 @@ nodes = { nanomsg_node = { - type = "nanomsg", + type = "nanomsg" out = { endpoints = [ @@ -15,7 +15,7 @@ nodes = { # Inprocess communication "inproc://test" - ], + ] } in = { endpoints = [ diff --git a/etc/examples/nodes/netem.conf b/etc/examples/nodes/netem.conf index 41c4b09bf..d96fbff8a 100644 --- a/etc/examples/nodes/netem.conf +++ b/etc/examples/nodes/netem.conf @@ -3,35 +3,36 @@ nodes = { udp_node = { - type = "socket", + type = "socket" - format = "gtnet", + format = "gtnet" in = { address = "127.0.0.1:12001" - }, + } + out = { - address = "127.0.0.1:12000", + address = "127.0.0.1:12000" # Network emulation settings # Those settings can be specified for each node individually! netem = { - enabled = true, + enabled = true # Additional latency in microseconds - delay = 100000, + delay = 100000 # Jitter in uS - jitter = 30000, + jitter = 30000 # Distribution of delay: uniform, normal, pareto, paretonormal - distribution = "normal", + distribution = "normal" # Packet loss in percent loss = 10 # Duplication in percent - duplicate = 10, + duplicate = 10 # Corruption in percent corrupt = 10 diff --git a/etc/examples/nodes/ngsi.conf b/etc/examples/nodes/ngsi.conf index 8c468e36f..ad367571c 100644 --- a/etc/examples/nodes/ngsi.conf +++ b/etc/examples/nodes/ngsi.conf @@ -3,16 +3,16 @@ nodes = { ngsi_node = { - type = "ngsi", + type = "ngsi" # The HTTP REST API endpoint of the FIRWARE context broker - endpoint = "http://46.101.131.212:1026", + endpoint = "http://46.101.131.212:1026" # Add an 'Auth-Token' token header to each request access_token = "aig1aaQuohsh5pee9uiC2Bae3loSh9wu" - entity_id = "S3_ElectricalGrid", - entity_type = "ElectricalGridMonitoring", + entity_id = "S3_ElectricalGrid" + entity_type = "ElectricalGridMonitoring" # Create the NGSI entities during startup create = true @@ -21,17 +21,17 @@ nodes = { rate = 0.1 # Timeout of HTTP request in seconds (default is 1, must be smaller than 1 / rate) - timeout = 1, + timeout = 1 # Verification of SSL server certificates (default is true) - verify_ssl = false, + verify_ssl = false in = { signals = ( { - name = "attr1", - ngsi_attribute_name = "attr1", # Defaults to signal 'name' - ngsi_attribute_type = "Volts", # Default to signal 'unit' + 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" } ) diff --git a/etc/examples/nodes/opal_orchestra.conf b/etc/examples/nodes/opal_orchestra.conf index 2e755f700..f7693e9ce 100644 --- a/etc/examples/nodes/opal_orchestra.conf +++ b/etc/examples/nodes/opal_orchestra.conf @@ -69,7 +69,7 @@ nodes = { signals = ( { - name = "pub_signal1", + name = "pub_signal1" type = "float" orchestra_name = "pub_signal_float" @@ -77,7 +77,7 @@ nodes = { orchestra_index = 0 }, { - name = "pub_signal2", + name = "pub_signal2" type = "float" orchestra_name = "pub_signal_float" diff --git a/etc/examples/nodes/redis.conf b/etc/examples/nodes/redis.conf index d17862d57..2816de3cd 100644 --- a/etc/examples/nodes/redis.conf +++ b/etc/examples/nodes/redis.conf @@ -3,11 +3,11 @@ nodes = { redis_node = { - type = "redis", + type = "redis" # Only valid for mode = 'channel' and 'key' # With mode = 'hash' we will use a simple human readable format - format = "json", + format = "json" # The Redis key to be used for mode = 'key' or 'hash' (default is the node name) key = "my_key" @@ -19,7 +19,7 @@ nodes = { # - 'channel' (publish/subscribe) # - 'key' (set/get) # - 'hash' (hmset/hgetall) - mode = "key", + mode = "key" # Whether or not to use Redis keyspace event notifications to get notified about updates notify = false @@ -28,7 +28,7 @@ nodes = { rate = 1.0 # The Redis connection URI - uri = "tcp://localhost:6379/0", + uri = "tcp://localhost:6379/0" # Alternatively the connection options can be specified independently # host = "localhost" @@ -39,14 +39,14 @@ nodes = { # path = "/var/run/redis.sock" - # user = "guest", + # user = "guest" # password = "guest" # ssl = { # enabled = true - # cacert = "/etc/ssl/certs/ca-certificates.crt", + # cacert = "/etc/ssl/certs/ca-certificates.crt" # cacertdir = "/etc/ssl/certs" - # cert = "./my_cert.crt", + # cert = "./my_cert.crt" # key = "./my_key.key" # } } diff --git a/etc/examples/nodes/rtp.conf b/etc/examples/nodes/rtp.conf index b7120cbf4..3c1485e6e 100644 --- a/etc/examples/nodes/rtp.conf +++ b/etc/examples/nodes/rtp.conf @@ -14,7 +14,7 @@ nodes = { rtcp = false aimd = { - a = 10, + a = 10 b = 0.5 Kp = 1.0 @@ -31,7 +31,7 @@ nodes = { } in = { - address = "0.0.0.0:12000", + address = "0.0.0.0:12000" signals = { count = 3 type = "float" @@ -43,10 +43,10 @@ nodes = { # Network emulation settings netem = { - enabled = false, + enabled = false # Additional latency in microseconds - delay = 100000, + delay = 100000 # Packet loss in percent loss = 10 diff --git a/etc/examples/nodes/shmem.conf b/etc/examples/nodes/shmem.conf index 487a5f1af..6b80dd0dd 100644 --- a/etc/examples/nodes/shmem.conf +++ b/etc/examples/nodes/shmem.conf @@ -3,22 +3,23 @@ nodes = { shmem_node = { - type = "shmem", + type = "shmem" in = { # Name of shared memory segment for receiving side name = "sn1_in" - }, + } + out = { # Name of shared memory segment for sending side name = "sn1_in" - }, + } # Length of the queues - queuelen = 1024, + queuelen = 1024 # We can busy-wait or use pthread condition variables for synchronizations - mode = "pthread", + mode = "pthread" # Execute an external process when starting the node which # then starts the other side of this shared memory channel diff --git a/etc/examples/nodes/signal-v2.conf b/etc/examples/nodes/signal-v2.conf index a80b9fedb..75c0fdc24 100644 --- a/etc/examples/nodes/signal-v2.conf +++ b/etc/examples/nodes/signal-v2.conf @@ -3,15 +3,15 @@ nodes = { signal_node = { - type = "signal.v2", + type = "signal.v2" rate = 10.0 # Wait between emitting each sample - realtime = true, + realtime = true # Only emit 1000 samples, then stop - limit = 1000, + limit = 1000 # Count and warn about missed steps monitor_missed = true @@ -25,13 +25,14 @@ nodes = { { name = "pulse1", signal = "pulse", frequency = 1.0, pulse_width = 1, pulse_high = 100, pulse_low = 50 } ) } - }, + } + signal_node2 = { - type = "signal.v2", + type = "signal.v2" in = { signals = { - count = 8, + count = 8 signal = "mixed" } } diff --git a/etc/examples/nodes/signal.conf b/etc/examples/nodes/signal.conf index 8501f7bd8..b7eeaf29c 100644 --- a/etc/examples/nodes/signal.conf +++ b/etc/examples/nodes/signal.conf @@ -3,34 +3,34 @@ nodes = { signal_node = { - type = "signal", + type = "signal" # One of "sine", "square", "ramp", "triangle", "random", "mixed", "counter" - signal = [ "sine", "pulse", "square" ], + signal = [ "sine", "pulse", "square" ] # Number of values per sample - values = 3, + values = 3 # Amplitude of generated signals - amplitude = [ 1.2, 0.0, 4.0 ], + amplitude = [ 1.2, 0.0, 4.0 ] # Frequency of generated signals in Hz - frequency = 10, + frequency = 10 # Standard deviation of random signals (normal distributed) - stddev = 2, + stddev = 2 # Sample rate in Hz - rate = 10.0, + rate = 10.0 # Constant offset - offset = 1.0, + offset = 1.0 # Wait between emitting each sample - realtime = true, + realtime = true # Only emit 1000 samples, then stop - limit = 1000, + limit = 1000 # Count and warn about missed steps monitor_missed = true diff --git a/etc/examples/nodes/socket.conf b/etc/examples/nodes/socket.conf index b83d5e911..1e1efd66d 100644 --- a/etc/examples/nodes/socket.conf +++ b/etc/examples/nodes/socket.conf @@ -3,26 +3,26 @@ nodes = { udp_node = { - type = "socket", + type = "socket" # Receive and sent 30 samples per message (combining) - vectorize = 30, + vectorize = 30 # The maximum number of samples this node can receive samplelen = 10 # By default, all nodes will have a few builtin hooks attached to them # When collecting statistics or measurements these are undesired - builtin = false, + builtin = false # 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 = "udp" - format = "gtnet", + format = "gtnet" in = { # This node only received messages on this IP:Port pair @@ -30,41 +30,45 @@ nodes = { # Check if source address of incoming packets matches the remote address verify_source = true - }, + } + out = { # This node sends outgoing messages to this IP:Port pair - address = "127.0.0.1:12000", + address = "127.0.0.1:12000" } } # Raw Ethernet frames ethernet_node = { - type = "socket", + type = "socket" + + layer = "eth" - layer = "eth", in = { address = "12:34:56:78:90:AB%lo:12002" - }, + } + out = { address = "12:34:56:78:90:AB%lo:12002" } - }, + } # Datagram UNIX domain sockets require two endpoints unix_domain_node = { - type = "socket", - layer = "unix", + type = "socket" + layer = "unix" in = { address = "/var/run/villas-node/node.sock" - }, + } + out = { address = "/var/run/villas-node/client.sock" } } udp_multicast_node = { - type = "socket", + type = "socket" in = { # This node only received messages on this IP:Port pair @@ -72,24 +76,25 @@ nodes = { # IGMP multicast is only support for layer = (ip|udp) multicast = { - enabled = true, + enabled = true # The multicast group. Must be within 224.0.0.0/4 - group = "224.1.2.3", + group = "224.1.2.3" # The IP address of the interface which should receive multicast packets - interface = "1.2.3.4", + interface = "1.2.3.4" # The time to live for outgoing multicast packets - ttl = 128, + ttl = 128 # Whether or not to loopback outgoing multicast packets to the local host - loop = false, + loop = false } - }, + } + out = { # This node sends outgoing messages to this IP:Port pair - address = "127.0.0.1:12000", + address = "127.0.0.1:12000" } } } diff --git a/etc/examples/nodes/test_rtt.conf b/etc/examples/nodes/test_rtt.conf index 2ab45c1a5..e58ac4215 100644 --- a/etc/examples/nodes/test_rtt.conf +++ b/etc/examples/nodes/test_rtt.conf @@ -7,18 +7,18 @@ nodes = { # sending rates, number of values and generates statistics # The cooldown time between each test case in seconds rtt_node = { - type = "test_rtt", - cooldown = 2, + type = "test_rtt" + cooldown = 2 # An optional prefix in the filename - prefix = "test_rtt_%y-%m-%d_%H-%M-%S", + prefix = "test_rtt_%y-%m-%d_%H-%M-%S" # The output directory for all results # The results of each test case will be written to a separate file - output = "./results", + output = "./results" # The output format of the result files - format = "villas.human", + format = "villas.human" # Shutdown the process after the cooldown phase of the # last test case has been completed. @@ -40,20 +40,20 @@ nodes = { cases = ( { # The sending rate in Hz - rates = 55.0, + rates = 55.0 # The number of values which should be send in each sample - values = [ 5, 10, 20], + values = [ 5, 10, 20] # The number of samples which should be send during this test case count = 100 }, { # An array of sending rates in Hz - rates = [ 5, 10, 30 ], + rates = [ 5, 10, 30 ] # An array of number of values - values = [ 2, 10, 20 ], + values = [ 2, 10, 20 ] # The duration of the test case in seconds (depending on the sending rate) duration = 5 diff --git a/etc/examples/nodes/uldaq.conf b/etc/examples/nodes/uldaq.conf index f88bd4c3e..1c00c1f76 100644 --- a/etc/examples/nodes/uldaq.conf +++ b/etc/examples/nodes/uldaq.conf @@ -8,22 +8,25 @@ http = { nodes = { ul201 = { type = "uldaq" + interface_type = "usb" in = { - range = "bipolar-10", + range = "bipolar-10" input_mode = "single-ended" + signals = ( { name = "ch0", type = "float", channel = 0 } ) - sample_rate = 5000, + sample_rate = 5000 vectorize = 100 } - }, + } vpmu = { - type = "socket", - layer = "udp", + type = "socket" + + layer = "udp" format = { type = "raw" @@ -35,7 +38,8 @@ nodes = { address = "*:13001" signals = () - }, + } + out = { vectorize = 100 address = "10.100.1.125:13000" @@ -45,7 +49,7 @@ nodes = { paths = ( { - in = "ul201", + in = "ul201" out = "vpmu" } ) diff --git a/etc/examples/nodes/unix_domain.conf b/etc/examples/nodes/unix_domain.conf index 785262f8e..8bb0f91b1 100644 --- a/etc/examples/nodes/unix_domain.conf +++ b/etc/examples/nodes/unix_domain.conf @@ -3,13 +3,14 @@ nodes = { unix_domain_node = { - type = "socket", - layer = "unix", - format = "protobuf", + 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 c3cec5a94..4bb5cac32 100644 --- a/etc/examples/nodes/webrtc.conf +++ b/etc/examples/nodes/webrtc.conf @@ -3,7 +3,7 @@ nodes = { webrtc_node = { - type = "webrtc", + type = "webrtc" format = "json" diff --git a/etc/examples/nodes/zeromq.conf b/etc/examples/nodes/zeromq.conf index 84aa6b527..62561cd20 100644 --- a/etc/examples/nodes/zeromq.conf +++ b/etc/examples/nodes/zeromq.conf @@ -13,7 +13,7 @@ nodes = { # Z85 encoded Curve25519 keys curve = { - enabled = false, + enabled = false public_key = "Veg+Q.V-c&1k>yVh663gQ^7fL($y47gybE-nZP1L" secret_key = "HPY.+mFuB[jGs@(zZr6$IZ1H1dZ7Ji*j>oi@O?Pc" } diff --git a/etc/examples/paths.conf b/etc/examples/paths.conf index b704c6c88..79ed39bf7 100644 --- a/etc/examples/paths.conf +++ b/etc/examples/paths.conf @@ -4,28 +4,28 @@ paths = ( { # Enable this path (default: true) - enabled = true, + enabled = true # Setup a path in the reverse direction as well (default: false) - reverse = true, + reverse = true # Name of the node we receive messages from (see node dictionary) - in = "udp_node", + in = "udp_node" # Name of the node we send messages to - out = "ethernet_node", + out = "ethernet_node" # A rate at which this path will be triggered if no input node receives new data rate = 10.0 - queuelen = 128, + queuelen = 128 # 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 - mode = "all", + mode = "all" # A list of input nodes which will trigger the path - mask = [ "udp_node" ], + mask = [ "udp_node" ] } ) diff --git a/etc/examples/typhoon.conf b/etc/examples/typhoon.conf index 4b1484aa6..536dd1646 100644 --- a/etc/examples/typhoon.conf +++ b/etc/examples/typhoon.conf @@ -38,7 +38,7 @@ nodes = { paths = ( { # A simple loopback - in = "typhoon_1", + in = "typhoon_1" out = "typhoon_1" } ) diff --git a/etc/gtnet-skt/test2.conf b/etc/gtnet-skt/test2.conf index d1e2456bf..59ebf82fe 100644 --- a/etc/gtnet-skt/test2.conf +++ b/etc/gtnet-skt/test2.conf @@ -26,7 +26,8 @@ nodes = { jitter = 300000 distribution = "normal" } - }, + } + node2 = { type = "socket" diff --git a/etc/gtnet-skt/test3.conf b/etc/gtnet-skt/test3.conf index f233f9296..e040cf739 100644 --- a/etc/gtnet-skt/test3.conf +++ b/etc/gtnet-skt/test3.conf @@ -27,9 +27,10 @@ nodes = { jitter = 300000 distribution = "normal" } - }, + } + node2 = { - type = "socket", + type = "socket" format = "gtnet" diff --git a/etc/gtnet-skt/test4.conf b/etc/gtnet-skt/test4.conf index 27a225f51..ddc0b8aa3 100644 --- a/etc/gtnet-skt/test4.conf +++ b/etc/gtnet-skt/test4.conf @@ -27,7 +27,8 @@ nodes = { jitter = 300000 distribution = "normal" } - }, + } + node2 = { type = "socket" @@ -44,8 +45,8 @@ nodes = { paths = ( { - in = "node1", - out = "node1", + in = "node1" + out = "node1" hooks = ( { diff --git a/etc/gtnet-skt/test5.conf b/etc/gtnet-skt/test5.conf index f7f942bf5..7340dd5e4 100644 --- a/etc/gtnet-skt/test5.conf +++ b/etc/gtnet-skt/test5.conf @@ -31,7 +31,8 @@ nodes = { jitter = 300000 distribution = "normal" } - }, + } + node2 = { type = "socket" diff --git a/etc/gtnet-skt/test6_gtsync_compare.conf b/etc/gtnet-skt/test6_gtsync_compare.conf index a0f789cd7..10fb0b727 100644 --- a/etc/gtnet-skt/test6_gtsync_compare.conf +++ b/etc/gtnet-skt/test6_gtsync_compare.conf @@ -31,7 +31,8 @@ logging = { nodes = { node1 = { - type = "socket", + type = "socket" + format = { type = "gtnet" fake = true @@ -40,6 +41,7 @@ nodes = { in = { address = "134.130.169.31:12002" } + out = { address = "134.130.169.98:12001" } @@ -50,19 +52,20 @@ nodes = { jitter = 300000 distribution = "normal" } - }, + } + node2 = { - type = "socket", + type = "socket" format = { type = "gtnet" fake = true } in = { - address = "134.130.169.31:12004", + address = "134.130.169.31:12004" } out = { - address = "134.130.169.99:12003", + address = "134.130.169.99:12003" } } } @@ -78,8 +81,8 @@ paths = ( ) }, { - in = "node2", - out = "node2", + in = "node2" + out = "node2" hooks = ( { type = "print" diff --git a/etc/labs/lab10_nodes.conf b/etc/labs/lab10_nodes.conf index 86fbcb93f..d1a3610dd 100644 --- a/etc/labs/lab10_nodes.conf +++ b/etc/labs/lab10_nodes.conf @@ -24,11 +24,13 @@ nodes = { warmup = 3000 } ) - }, + } + out = { address = "192.168.0.5:12005" # Remote machine IP and port number } - }, + } + rpi-2 = { type = "socket" layer = "udp" @@ -52,7 +54,8 @@ nodes = { out = { address = "192.168.0.6:12006" # Remote machine IP and port number } - }, + } + rtds-1 = { type = "socket" layer = "udp" diff --git a/etc/labs/lab10_path_bidir.conf b/etc/labs/lab10_path_bidir.conf index dfe94504c..f264109aa 100644 --- a/etc/labs/lab10_path_bidir.conf +++ b/etc/labs/lab10_path_bidir.conf @@ -6,11 +6,11 @@ paths = ( # Each path dictionary corresponds to one way communication { - in = [ "rpi-1" ], + in = [ "rpi-1" ] out = [ "rtds-1" ] }, { - in = [ "rtds-1" ], + in = [ "rtds-1" ] out = [ "rpi-1" ] } @@ -18,8 +18,8 @@ paths = ( # and set reverse = true # Example: # { - # in = [ "rpi-1" ], - # out = [ "rtds-1" ], + # 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 d75d4ced7..720e87e39 100644 --- a/etc/labs/lab10_path_hook.conf +++ b/etc/labs/lab10_path_hook.conf @@ -5,8 +5,8 @@ paths = ( { - in = [ "rpi-1" ], - out = [ "rtds-1" ], + in = [ "rpi-1" ] + out = [ "rtds-1" ] hooks = ( { type = "print", output = "stdout" } diff --git a/etc/labs/lab10_path_multiple_destinations.conf b/etc/labs/lab10_path_multiple_destinations.conf index 7ef2b6e93..df8af9797 100644 --- a/etc/labs/lab10_path_multiple_destinations.conf +++ b/etc/labs/lab10_path_multiple_destinations.conf @@ -5,7 +5,7 @@ paths = ( { - in = [ "rtds-1" ], + 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 f2194875a..3ec431bf9 100644 --- a/etc/labs/lab10_path_uni.conf +++ b/etc/labs/lab10_path_uni.conf @@ -5,7 +5,7 @@ paths = ( { - in = [ "rpi-1" ], + in = [ "rpi-1" ] out = [ "rtds-1" ] } ) diff --git a/etc/labs/lab11.conf b/etc/labs/lab11.conf index 2c74eb15e..fd86a668c 100644 --- a/etc/labs/lab11.conf +++ b/etc/labs/lab11.conf @@ -18,7 +18,8 @@ nodes = { out = { address = "134.130.169.89:12000" } - }, + } + rtds_gtnet2 = { type = "socket" layer = "udp" @@ -40,7 +41,7 @@ nodes = { type = "websocket" } monitoring_log = { - type = "file", + type = "file" uri = "ftp://acs:fake@134.130.169.32/var/villas/log/monitoring_%Y-%m-%d_%H_%M_%S.dat" @@ -61,26 +62,29 @@ paths = ( "rtds_gtnet2.ts.origin", "rtds_gtnet2.hdr.sequence", "rtds_gtnet2.data[0-6]" - ], + ] 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", + mode = "any" # List of nodes which trigger the path - mask = [ "rtds_gtnet1", "rtds_gtnet2" ], + mask = [ + "rtds_gtnet1", + "rtds_gtnet2" + ] hooks = ( # We do not want to overload the WebBrowsers { - type = "decimate", + type = "decimate" ratio = 10 } ) diff --git a/etc/labs/lab12.conf b/etc/labs/lab12.conf index c7d9a0b94..bacf53f79 100644 --- a/etc/labs/lab12.conf +++ b/etc/labs/lab12.conf @@ -3,25 +3,27 @@ nodes = { udp_node1 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" in = { address = "*:12000" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { address = "127.0.0.1:12001" } - }, + } + web_node1 = { - type = "websocket", + type = "websocket" - vectorize = 2, + vectorize = 2 series = ( { label = "Random walk", unit = "V" }, { label = "Sine", unit = "A" }, @@ -33,8 +35,8 @@ nodes = { paths = ( { - in = [ "udp_node1" ], - out = [ "web_node1" ], + in = [ "udp_node1" ] + out = [ "web_node1" ] hooks = ( # We do not want to overload the WebBrowsers @@ -42,7 +44,7 @@ paths = ( ) }, { - in = [ "web_node1" ], + in = [ "web_node1" ] out = [ "udp_node1" ] # Web -> UDP does not require decimation diff --git a/etc/labs/lab13.conf b/etc/labs/lab13.conf index 32d6054b3..3cb7737d7 100644 --- a/etc/labs/lab13.conf +++ b/etc/labs/lab13.conf @@ -1,39 +1,42 @@ # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 -affinity = 0x8, +affinity = 0x8 nodes = { rtds_gtnet1 = { - type = "socket", - layer = "udp", - format = "gtnet", + type = "socket" + layer = "udp" + format = "gtnet" in = { address = "*:12000" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { address = "134.130.169.98:12000" } - }, + } + rtds_gtnet2 = { - type = "socket", - layer = "udp", - format = "gtnet", + type = "socket" + layer = "udp" + format = "gtnet" in = { address = "*:12001" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { address = "134.130.169.99:12001" } diff --git a/etc/labs/lab17.conf b/etc/labs/lab17.conf index eaed0139a..3da1aab56 100644 --- a/etc/labs/lab17.conf +++ b/etc/labs/lab17.conf @@ -3,8 +3,8 @@ nodes = { rtds_ss1 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" format = { type = "gtnet" fake = true @@ -48,8 +48,8 @@ nodes = { } rtds_ss2 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" format = { type = "gtnet" fake = true @@ -135,14 +135,14 @@ nodes = { paths = ( { - in = "rtds_ss1", - out = "rtds_ss2", + in = "rtds_ss1" + out = "rtds_ss2" reverse = true }, { - enabled = false, - in = "rtds_ss1_monitoring", - out = "web_monitoring", + enabled = false + in = "rtds_ss1_monitoring" + out = "web_monitoring" reverse = true } ) diff --git a/etc/labs/lab18-loopback.conf b/etc/labs/lab18-loopback.conf index 47e260547..c7d3f3765 100644 --- a/etc/labs/lab18-loopback.conf +++ b/etc/labs/lab18-loopback.conf @@ -3,7 +3,7 @@ nodes = { webrtc_loopback = { - type = "webrtc", + type = "webrtc" format = "json" diff --git a/etc/labs/lab19.conf b/etc/labs/lab19.conf index aac280309..6f9f5c5bf 100644 --- a/etc/labs/lab19.conf +++ b/etc/labs/lab19.conf @@ -12,11 +12,12 @@ nodes = { type = "float" } hooks = ( - { - type = "print" - } - ) - }, + { + type = "print" + } + ) + } + out = { address = "127.0.0.1:12001" } diff --git a/etc/labs/lab20-server.conf b/etc/labs/lab20-server.conf index fb422d735..fccd1740b 100644 --- a/etc/labs/lab20-server.conf +++ b/etc/labs/lab20-server.conf @@ -11,7 +11,8 @@ nodes = { in = { address = "127.0.0.1:12000" - }, + } + out = { address = "127.0.0.1:12000" } diff --git a/etc/labs/lab3.conf b/etc/labs/lab3.conf index 6a182a2f3..a860fc157 100644 --- a/etc/labs/lab3.conf +++ b/etc/labs/lab3.conf @@ -3,8 +3,8 @@ nodes = { udp_node1 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" in = { address = "*:12000" @@ -13,7 +13,8 @@ nodes = { count = 3 type = "float" } - }, + } + out = { address = "127.0.0.1:12001" } diff --git a/etc/labs/lab4.conf b/etc/labs/lab4.conf index 0b30ec7c9..716771075 100644 --- a/etc/labs/lab4.conf +++ b/etc/labs/lab4.conf @@ -3,17 +3,18 @@ nodes = { udp_node1 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" in = { address = "*:12000" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { address = "127.0.0.1:12001" } diff --git a/etc/labs/lab5.conf b/etc/labs/lab5.conf index 7706c7675..d2e2a7b07 100644 --- a/etc/labs/lab5.conf +++ b/etc/labs/lab5.conf @@ -3,18 +3,19 @@ nodes = { rtds_gtnet1 = { - type = "socket", - layer = "udp", - format = "gtnet", + type = "socket" + layer = "udp" + format = "gtnet" in = { address = "*:12000" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { address = "134.130.169.89:12000" } diff --git a/etc/labs/lab7.conf b/etc/labs/lab7.conf index 1950214b6..c058fffb8 100644 --- a/etc/labs/lab7.conf +++ b/etc/labs/lab7.conf @@ -3,7 +3,7 @@ nodes = { file_node1 = { - type = "file", + type = "file" uri = "file_send.dat" diff --git a/etc/labs/lab9_netem.conf b/etc/labs/lab9_netem.conf index 8810ffe69..89aa73527 100644 --- a/etc/labs/lab9_netem.conf +++ b/etc/labs/lab9_netem.conf @@ -3,27 +3,28 @@ nodes = { udp_node1 = { - type = "socket", - layer = "udp", + type = "socket" + layer = "udp" in = { address = "*:12000" signals = { - count = 8, + count = 8 type = "float" } - }, + } + out = { - address = "127.0.0.1:12001", + 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 + 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 10eb4aa73..ec0096533 100644 --- a/etc/loopback.conf +++ b/etc/loopback.conf @@ -44,7 +44,8 @@ nodes = { distribution = "normal" } } - }, + } + node2 = { type = "socket" layer = "udp" @@ -55,7 +56,8 @@ nodes = { out = { address = "127.0.0.1:12002" } - }, + } + node3 = { type = "socket" layer = "udp" @@ -66,7 +68,8 @@ nodes = { out = { address = "127.0.0.1:12000" } - }, + } + loopback = { type = "socket" layer = "udp" diff --git a/etc/shmem_mqtt.conf b/etc/shmem_mqtt.conf index d25682b6b..30d195a4b 100644 --- a/etc/shmem_mqtt.conf +++ b/etc/shmem_mqtt.conf @@ -9,54 +9,58 @@ nodes = { } dpsim = { - enabled = false, - type = "shmem", + enabled = false + type = "shmem" in = { # Name of shared memory segment for sending side - name = "/dpsim-villas", + name = "/dpsim-villas" + hooks = ( { type = "stats" } - ), + ) + signals = { - # count = 2, + # count = 2 # type = "float" - count = 1, + count = 1 type = "complex" } - }, + } + out = { # Name of shared memory segment for receiving side name = "/villas-dpsim" signals = { - count = 1, + count = 1 type = "complex" } - }, + } + # Length of the queues - queuelen = 1024, + queuelen = 1024 # We can busy-wait or use pthread condition variables for synchronizations - polling = true, - }, + polling = true + } broker = { - type = "mqtt", - format = "json", - #host = "localhost", + type = "mqtt" + format = "json" + #host = "localhost" host = "137.226.133.157" - port = 1883, - retain = false, + port = 1883 + retain = false out = { publish = "dpsim->dist" } in = { - subscribe = "dist->dpsim", + subscribe = "dist->dpsim" signals = { - count = 1, + count = 1 type = "complex" } } @@ -66,17 +70,17 @@ nodes = { paths = ( { enabled = false - in = "sig", - out = "broker", + in = "sig" + out = "broker" # Condition of which/how many source nodes have to receive # at least one sample for the path to be triggered - mode = "any", - # reverse = true + mode = "any" + # reverse = true } # ,{ - # in = "nano"; - # out = "dpsim"; + # in = "nano" + # out = "dpsim" # mode = "any" # } ) diff --git a/etc/websocket-client.conf b/etc/websocket-client.conf index afa13d773..151f62e9f 100644 --- a/etc/websocket-client.conf +++ b/etc/websocket-client.conf @@ -6,13 +6,13 @@ nodes = { sig = { - type = "signal", + type = "signal" signal = "sine" } relay = { - type = "websocket", + type = "websocket" destinations = [ "https://villas.k8s.eonerc.rwth-aachen.de/ws/relay/node_1" diff --git a/etc/websocket-demo.conf b/etc/websocket-demo.conf index de879967f..2969d6d82 100644 --- a/etc/websocket-demo.conf +++ b/etc/websocket-demo.conf @@ -6,27 +6,28 @@ nodes = { sig = { - type = "signal", + type = "signal" - signal = "mixed", - values = 5, - rate = 20, + signal = "mixed" + values = 5 + rate = 20 in = { hooks = ( { type = "stats" } ) } - }, + } + ws_sig = { - type = "websocket", - description = "Demo Channel", + 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 = ( ) @@ -35,16 +36,16 @@ nodes = { { type = "print" } ) } - }, + } ws_lo = { - type = "websocket", - description = "Loopback", + type = "websocket" + description = "Loopback" out = { signals = ( { name = "slider", type = "float" }, { name = "buttons", type = "float" } - ), + ) } in = { signals = ( @@ -63,11 +64,11 @@ nodes = { paths = ( { - in = "sig", + in = "sig" out = "ws_sig" }, { - in = "ws_lo", + in = "ws_lo" out = "ws_lo" } ) diff --git a/tests/benchmarks/configs/infiniband.conf b/tests/benchmarks/configs/infiniband.conf index e6cad3b3d..1296f3891 100644 --- a/tests/benchmarks/configs/infiniband.conf +++ b/tests/benchmarks/configs/infiniband.conf @@ -2,49 +2,50 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "infiniband", + type = "infiniband" - rdma_transport_mode = "${IB_MODE}", + rdma_transport_mode = "${IB_MODE}" in = { - address = "10.0.0.2:1337", + address = "10.0.0.2:1337" - max_wrs = 8192, - cq_size = 8192, + max_wrs = 8192 + cq_size = 8192 buffer_subtraction = 128 - }, + } + out = { - address = "10.0.0.1:1337", - resolution_timeout = 1000, + address = "10.0.0.1:1337" + resolution_timeout = 1000 - max_wrs = 4096, - cq_size = 5000, - periodic_signalling = 4500, + max_wrs = 4096 + cq_size = 5000 + periodic_signalling = 4500 - send_inline = true, - max_inline_data = 128, + send_inline = true + max_inline_data = 128 use_fallback = true } -}, +} target_node = { - type = "infiniband", + type = "infiniband" - rdma_transport_mode = "${IB_MODE}", + rdma_transport_mode = "${IB_MODE}" in = { - address = "10.0.0.1:1337", + address = "10.0.0.1:1337" - max_wrs = 8192, - cq_size = 8192, + max_wrs = 8192 + cq_size = 8192 - buffer_subtraction = 128, + buffer_subtraction = 128 signals = { - count = ${NUM_VALUE}, + count = ${NUM_VALUE} type = "float" } diff --git a/tests/benchmarks/configs/loopback.conf b/tests/benchmarks/configs/loopback.conf index 200987e69..4e344a0d3 100644 --- a/tests/benchmarks/configs/loopback.conf +++ b/tests/benchmarks/configs/loopback.conf @@ -2,8 +2,9 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "loopback", - queuelen = 8192, - samplelen = ${NUM_VALUE}, + type = "loopback" + + queuelen = 8192 + samplelen = ${NUM_VALUE} mode = "polling" } diff --git a/tests/benchmarks/configs/nanomsg.conf b/tests/benchmarks/configs/nanomsg.conf index 5fc51c9a1..1378abd9f 100644 --- a/tests/benchmarks/configs/nanomsg.conf +++ b/tests/benchmarks/configs/nanomsg.conf @@ -2,23 +2,23 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "nanomsg", + type = "nanomsg" out = { endpoints = [ "tcp://*:12000"] } -}, +} target_node = { - type = "nanomsg", + type = "nanomsg" in = { signals = { - count = ${NUM_VALUE}, + count = ${NUM_VALUE} type = "float" - }, + } endpoints = [ "tcp://127.0.0.1:12000" ] - }, + } } diff --git a/tests/benchmarks/configs/shmem.conf b/tests/benchmarks/configs/shmem.conf index d903b3b40..6f27676d6 100644 --- a/tests/benchmarks/configs/shmem.conf +++ b/tests/benchmarks/configs/shmem.conf @@ -2,37 +2,37 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "shmem", - queuelen = 8192, - polling = true, - vectorize = 1, + type = "shmem" + queuelen = 8192 + polling = true + vectorize = 1 in = { signals = { - count = ${NUM_VALUE}, + count = ${NUM_VALUE} type = "float" - }, + } name = "/shmem_node_2" - }, + } out = { name = "/shmem_node" } -}, +} target_node = { - type = "shmem", - queuelen = 8192, - polling = true, - vectorize = 1, + type = "shmem" + queuelen = 8192 + polling = true + vectorize = 1 in = { signals = { - count = ${NUM_VALUE}, + count = ${NUM_VALUE} type = "float" - }, + } name = "/shmem_node" - }, + } out = { name = "/shmem_node_2" diff --git a/tests/benchmarks/configs/socket.conf b/tests/benchmarks/configs/socket.conf index c457f2e6c..4f2499c78 100644 --- a/tests/benchmarks/configs/socket.conf +++ b/tests/benchmarks/configs/socket.conf @@ -2,37 +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" - }, + } out = { address = "127.0.0.1:12001" } -}, +} target_node = { - type = "socket", + type = "socket" - builtin = false, + builtin = false - layer = "udp", - format = "csv", + layer = "udp" + format = "csv" in = { signals = { - count = ${NUM_VALUE}, + count = ${NUM_VALUE} type = "float" - }, + } address = "127.0.0.1:12001" - }, + } + out = { address = "127.0.0.1:12000" } diff --git a/tests/benchmarks/configs/zeromq.conf b/tests/benchmarks/configs/zeromq.conf index fbaa3ca25..fbe467d1f 100644 --- a/tests/benchmarks/configs/zeromq.conf +++ b/tests/benchmarks/configs/zeromq.conf @@ -2,26 +2,25 @@ # SPDX-License-Identifier: Apache-2.0 source_node = { - type = "zeromq", - pattern = "pubsub", - ipv6 = false, + type = "zeromq" + pattern = "pubsub" + ipv6 = false - out = { - publish = "tcp://127.0.0.1:1235", - filter = "ab184" - } + out = { + publish = "tcp://127.0.0.1:1235" + filter = "ab184" + } } target_node = { - type = "zeromq", - - in = { - signals = { - count = ${NUM_VALUE}, - type = "float" - }, - subscribe = "tcp://127.0.0.1:1235", - filter = "ab184" - } + type = "zeromq" + in = { + signals = { + count = ${NUM_VALUE} + type = "float" + } + subscribe = "tcp://127.0.0.1:1235" + filter = "ab184" + } }