mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
update example configuration files
This commit is contained in:
parent
d1745ba2a9
commit
a8711a8ed7
28 changed files with 345 additions and 258 deletions
|
@ -12,24 +12,16 @@
|
|||
# Copyright: 2016, Institute for Automation of Complex Power Systems, EONERC
|
||||
##
|
||||
|
||||
stats = 3 # The interval in seconds to print path statistics.
|
||||
# A value of 0 disables the statistics.
|
||||
|
||||
name = "villas-acs" # The name of this VILLASnode. Might by used by node-types
|
||||
# to identify themselves (default is the hostname).
|
||||
|
||||
|
||||
log = {
|
||||
level = 5 # The level of verbosity for debug messages
|
||||
# Higher number => increased verbosity
|
||||
|
||||
faciltities = [ "path", "socket" ] # The list of enabled debug faciltities.
|
||||
# If omitted, all faciltities are enabled
|
||||
# For a full list of available faciltities, check lib/log.c
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
http = {
|
||||
htdocs = "/villas/web/" # Root directory of internal webserver
|
||||
htdocs = "/villas/web/" # Root directory of internal webserver
|
||||
port = 80 # Port for HTTP connections
|
||||
}
|
||||
|
||||
|
@ -75,5 +67,8 @@ nodes = {
|
|||
############ List of paths ############
|
||||
|
||||
paths = (
|
||||
{ in = "socket2", out = "ws" }
|
||||
{
|
||||
in = "socket2",
|
||||
out = "ws"
|
||||
}
|
||||
)
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
@include "global.conf"
|
||||
|
||||
# An example node. Define multiple nodes in the "nodes" dictionary
|
||||
@include "nodes/signal.conf"
|
||||
@include "nodes/signal_generator.conf"
|
||||
|
||||
# A list of example paths. Define multiple paths by appending them to the "paths" list.
|
||||
@include "paths.conf"
|
||||
#@include "paths.conf"
|
||||
|
|
|
@ -36,20 +36,14 @@ affinity = 0x01 # Mask of cores the server should run on
|
|||
# See: https://github.com/docker/docker/issues/22380
|
||||
# on why we cant use real-time scheduling in Docker
|
||||
|
||||
stats = 3 # The interval in seconds to print path statistics.
|
||||
# A value of 0 disables the statistics.
|
||||
|
||||
name = "villas-acs" # The name of this VILLASnode. Might by used by node-types
|
||||
# to identify themselves (default is the hostname).
|
||||
|
||||
|
||||
logging = {
|
||||
level = 5 # The level of verbosity for debug messages
|
||||
# Higher number => increased verbosity
|
||||
level = "debug" # The level of verbosity for debug messages
|
||||
# One of: "warn", "info", "error", "off", "info"
|
||||
|
||||
faciltities = [ "path", "socket" ] # The list of enabled debug faciltities.
|
||||
# If omitted, all faciltities are enabled
|
||||
# For a full list of available faciltities, check lib/log.c
|
||||
|
||||
file = "/var/log/villas-node.log" # File for logs
|
||||
|
||||
|
|
|
@ -27,14 +27,17 @@
|
|||
nodes = {
|
||||
remote_file = {
|
||||
type = "file",
|
||||
|
||||
uri = "https://1Nrd46fZX8HbggT:badpass@rwth-aachen.sciebo.de/public.php/webdav/node/data/demo_in.dat",
|
||||
|
||||
# The output path accepts all format tokens of (see strftime(3))
|
||||
#uri = "https://1Nrd46fZX8HbggT:badpass@rwth-aachen.sciebo.de/public.php/webdav/node/data/demo_%y-%m-%d_%H-%M-%S.dat",
|
||||
|
||||
out = {
|
||||
# The output path accepts all format tokens of (see strftime(3))
|
||||
uri = "https://1Nrd46fZX8HbggT:badpass@rwth-aachen.sciebo.de/public.php/webdav/node/data/demo_%y-%m-%d_%H-%M-%S.dat",
|
||||
mode = "a+" # You might want to use "a+" to append to a file
|
||||
}
|
||||
in = {
|
||||
uri = "https://1Nrd46fZX8HbggT:badpass@rwth-aachen.sciebo.de/public.php/webdav/node/data/demo_in.dat",
|
||||
rate = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ nodes = {
|
|||
format = "json",
|
||||
|
||||
# Use 'amqps://' to enable SSL/TLS
|
||||
uri = "amqp://username:password@hostname:port/vhost",
|
||||
uri = "amqp://username:password@example.com:1234/vhost",
|
||||
|
||||
# Alternatively connection settings can be specified individually
|
||||
username = "guest",
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
nodes = {
|
||||
pcie6259 = {
|
||||
type = "comedi",
|
||||
type = "comedi",
|
||||
|
||||
device = "/dev/comedi0",
|
||||
in = {
|
||||
subdevice = 0,
|
||||
subdevice = 0,
|
||||
rate = 1000,
|
||||
|
||||
signals = (
|
||||
# note: order in this array defines order in villas sample
|
||||
{ channel = 0, range = 0, aref = 0, name = "temperature_int" },
|
||||
|
@ -20,6 +22,7 @@ nodes = {
|
|||
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 },
|
||||
|
@ -39,7 +42,7 @@ nodes = {
|
|||
address = "*:12000"
|
||||
},
|
||||
out = {
|
||||
remote = "134.130.169.32:12000"
|
||||
address = "134.130.169.32:12000"
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -62,8 +65,18 @@ nodes = {
|
|||
|
||||
paths = (
|
||||
# 2-ch sine
|
||||
#{ in = ("sine1.data[0]", "sine2.data[0]"), out = "pcie6259", rate = 10000, mask = () }
|
||||
# {
|
||||
# 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 = () }
|
||||
{
|
||||
in = "remote.data[0-3]"
|
||||
out = "pcie6259"
|
||||
rate = 40000
|
||||
mask = ()
|
||||
}
|
||||
)
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
nodes = {
|
||||
file_node = {
|
||||
type = "file",
|
||||
type = "file"
|
||||
|
||||
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))
|
||||
|
||||
### The following settings are specific to the file node-type!! ###
|
||||
buffer_size = 0 # Creates a stream buffer if value is positive
|
||||
|
||||
in = {
|
||||
uri = "logs/input.log", # These options specify the URI where the the files are stored
|
||||
mode = "w+", # The mode in which files should be opened (see open(2))
|
||||
|
||||
epoch_mode = "direct" # One of: direct (default), wait, relative, absolute
|
||||
|
@ -19,7 +21,6 @@ nodes = {
|
|||
eof = "rewind" # Rewind the file and start from the beginning.
|
||||
},
|
||||
out = {
|
||||
uri = "logs/output_%F_%T.log" # The output URI accepts all format tokens of (see strftime(3))
|
||||
mode = "a+" # You might want to use "a+" to append to a file
|
||||
flush = false # Flush or upload contents of the file every time new samples are sent.
|
||||
}
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
logging = {
|
||||
level = 2,
|
||||
facilities = "ib", // infiniband node
|
||||
}
|
||||
|
||||
nodes = {
|
||||
results = {
|
||||
type = "file",
|
||||
|
|
|
@ -9,7 +9,7 @@ nodes = {
|
|||
{ name = "a" },
|
||||
{ name = "b" },
|
||||
{ name = "c" },
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,24 +6,24 @@ nodes = {
|
|||
dst_address = "01:0c:cd:01:00:01",
|
||||
|
||||
out = {
|
||||
signals = [
|
||||
signals = (
|
||||
{ iec_type = "float32" },
|
||||
{ iec_type = "float64" },
|
||||
{ iec_type = "int8" },
|
||||
{ iec_type = "int32" }
|
||||
],
|
||||
)
|
||||
|
||||
svid = "test1234",
|
||||
smpmod = "samples_per_second",
|
||||
confrev = 55
|
||||
},
|
||||
in = {
|
||||
signals = [
|
||||
signals = (
|
||||
{ iec_type = "float32" },
|
||||
{ iec_type = "float64" },
|
||||
{ iec_type = "int8" },
|
||||
{ iec_type = "int32" }
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,26 @@
|
|||
nodes = {
|
||||
stats_node = { # The "stats" node-type streams statistics of a second node
|
||||
type = "stats",
|
||||
udp_node = {
|
||||
type = "socket"
|
||||
|
||||
in = {
|
||||
address = "*:12000"
|
||||
}
|
||||
out = {
|
||||
address = "127.0.0.1:12000"
|
||||
}
|
||||
}
|
||||
stats_node = {
|
||||
type = "stats"
|
||||
|
||||
node = "udp_node",
|
||||
rate = "2"
|
||||
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" }
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ nodes = {
|
|||
format = "protobuf",
|
||||
|
||||
in = {
|
||||
address = "/var/run/villas-node.server.sock"
|
||||
address = "/var/run/villas-node.server.sock"
|
||||
},
|
||||
out = {
|
||||
remote = "/var/run/villas-node.client.sock"
|
||||
address = "/var/run/villas-node.client.sock"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,29 +1,28 @@
|
|||
nodes = {
|
||||
zeromq_node = {
|
||||
type = "zeromq",
|
||||
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 = true,
|
||||
public_key = "Veg+Q.V-c&1k>yVh663gQ^7fL($y47gybE-nZP1L",
|
||||
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
|
||||
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 prepended to each send message.
|
||||
filter = "ab184" # A prefix which is prepended to each send message.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,7 @@ paths = (
|
|||
in = "acs", # Name of the node we receive messages from (see node dictionary)
|
||||
out = "sintef", # Name of the node we send messages to.
|
||||
|
||||
rate = 100, # Send message over this path with a fixed (constant) rate (default: 0).
|
||||
# Setting this value to 0 will disable this feature.
|
||||
rate = 10.0 # A rate at which this path will be triggered if no input node receives new data
|
||||
|
||||
queuelen = 128,
|
||||
|
||||
|
@ -15,7 +14,6 @@ paths = (
|
|||
# - "all": After all masked input nodes received new data
|
||||
# - "any": After any of the masked input nodes received new data
|
||||
mask = [ "acs" ], # A list of input nodes which will trigger the path
|
||||
rate = 10.0 # A rate at which this path will be triggered if no input node receives new data
|
||||
},
|
||||
{
|
||||
enabled = false,
|
||||
|
|
|
@ -24,17 +24,20 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "*:12000", # Local ip:port, use '*' for random port
|
||||
remote = "134.130.169.80:12001",
|
||||
header = "none", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
endian = "big", # Can be 'little' or 'small'. If not provided (default), little endianness logic will be applied
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
type = "socket"
|
||||
format = "gtnet"
|
||||
|
||||
in = {
|
||||
address = "*:12000" # Local ip:port, use '*' for random port
|
||||
}
|
||||
out = {
|
||||
address = "134.130.169.80:12001"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,41 +24,52 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket"
|
||||
layer = "udp"
|
||||
local = "192.168.88.128:12002" # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001"
|
||||
header = "villas" # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the 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"
|
||||
}
|
||||
|
||||
netem = {
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
}
|
||||
node2 = {
|
||||
type = "socket"
|
||||
layer = "udp"
|
||||
local = "*:12004" # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12005"
|
||||
header = "villas" # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the socket
|
||||
|
||||
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", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -24,41 +24,52 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12002", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "villas", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
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"
|
||||
}
|
||||
|
||||
netem = {
|
||||
enabled = false,
|
||||
delay = 1000000, # In micro seconds!
|
||||
jitter = 300000,
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
node2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12004", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "villas", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the socket
|
||||
type = "socket"
|
||||
|
||||
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", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -24,41 +24,53 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12002", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "gtnet-skt", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
type = "socket"
|
||||
|
||||
format = "gtnet"
|
||||
|
||||
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,
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
node2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12004", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "gtnet-skt", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the 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 = "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", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -24,31 +24,41 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "134.130.169.31:12002", # Local ip:port, use '*' for random port
|
||||
remote = "134.130.169.98:12001",
|
||||
header = "gtnet-skt", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
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"
|
||||
}
|
||||
|
||||
netem = {
|
||||
enabled = false,
|
||||
delay = 1000000, # In micro seconds!
|
||||
jitter = 300000,
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
node2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12004", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "gtnet-skt", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the socket
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,7 +68,9 @@ paths = (
|
|||
out = "node1", # And we loop back to the origin
|
||||
|
||||
hooks = (
|
||||
{ type = "print", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -24,42 +24,53 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "134.130.169.31:12002", # Local ip:port, use '*' for random port
|
||||
remote = "134.130.169.98:12001",
|
||||
header = "gtnet-skt:fake", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
endian = "big", # Can be 'little' or 'small'. If not provided (default), little endianness logic will be applied
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
type = "socket"
|
||||
|
||||
format = "gtnet.fake"
|
||||
|
||||
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,
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
node2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "192.168.88.128:12004", # Local ip:port, use '*' for random port
|
||||
remote = "192.168.88.129:12001",
|
||||
header = "gtnet-skt", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the socket
|
||||
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", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -25,49 +25,59 @@
|
|||
# Copyright: 2016, Institute for Automation of Complex Power Systems, EONERC
|
||||
##
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
logging = {
|
||||
level = "debug"
|
||||
}
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "134.130.169.31:12002", # Local ip:port, use '*' for random port
|
||||
remote = "134.130.169.98:12001",
|
||||
header = "gtnet-skt:fake", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
endian = "big", # Can be 'little' or 'small'. If not provided (default), little endianness logic will be applied
|
||||
vectorize = 1, # Number of samples to fetch per iteration from the socket
|
||||
format = "gtnet.fake"
|
||||
|
||||
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,
|
||||
enabled = false
|
||||
delay = 1000000 # In micro seconds!
|
||||
jitter = 300000
|
||||
distribution = "normal"
|
||||
}
|
||||
},
|
||||
node2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
local = "134.130.169.31:12004", # Local ip:port, use '*' for random port
|
||||
remote = "134.130.169.99:12003",
|
||||
header = "gtnet-skt:fake", # 'gtnet-skt' or 'villas'. If not provided, 'villas' header will be used
|
||||
endian = "big",
|
||||
vectorize = 1 # Number of samples to fetch per iteration from the socket
|
||||
format = "gtnet.fake"
|
||||
|
||||
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
|
||||
in = "node1" # Name of the node we listen to (see above)
|
||||
out = "node1" # And we loop back to the origin
|
||||
hooks = (
|
||||
{ type = "print", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
},
|
||||
{
|
||||
in = "node2",
|
||||
out = "node2",
|
||||
hooks = (
|
||||
{ type = "print", output = "stdout" }
|
||||
{
|
||||
type = "print"
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
stats = 5.0
|
||||
hugepages = 200
|
||||
|
||||
nodes = {
|
||||
|
@ -15,17 +14,17 @@ nodes = {
|
|||
count = 8
|
||||
type = "float"
|
||||
}
|
||||
|
||||
hooks = (
|
||||
{
|
||||
type = "stats"
|
||||
warmup = 3000
|
||||
}
|
||||
)
|
||||
},
|
||||
out = {
|
||||
address = "192.168.0.5:12005" # remote machine IP and port number
|
||||
},
|
||||
|
||||
hooks = (
|
||||
{
|
||||
type = "stats"
|
||||
warmup = 3000
|
||||
}
|
||||
)
|
||||
}
|
||||
},
|
||||
rpi-2 = {
|
||||
type = "socket"
|
||||
|
@ -39,17 +38,17 @@ nodes = {
|
|||
count = 8
|
||||
type = "float"
|
||||
}
|
||||
|
||||
hooks = (
|
||||
{
|
||||
type = "stats"
|
||||
warmup = 3000
|
||||
}
|
||||
)
|
||||
}
|
||||
out = {
|
||||
address = "192.168.0.6:12006" # remote machine IP and port number
|
||||
}
|
||||
|
||||
hooks = (
|
||||
{
|
||||
type = "stats"
|
||||
warmup = 3000
|
||||
}
|
||||
)
|
||||
},
|
||||
rtds-1 = {
|
||||
type = "socket"
|
||||
|
@ -63,16 +62,16 @@ nodes = {
|
|||
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
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,59 +1,61 @@
|
|||
nodes = {
|
||||
rtds_gtnet1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
header = "gtnet-skt",
|
||||
type = "socket"
|
||||
layer = "udp"
|
||||
header = "gtnet-skt"
|
||||
|
||||
in = {
|
||||
address = "*:12000",
|
||||
address = "*:12000"
|
||||
|
||||
signals = {
|
||||
count = 8,
|
||||
count = 8
|
||||
type = "float"
|
||||
}
|
||||
},
|
||||
}
|
||||
out = {
|
||||
address = "134.130.169.89:12000"
|
||||
}
|
||||
},
|
||||
rtds_gtnet2 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
header = "gtnet-skt",
|
||||
type = "socket"
|
||||
layer = "udp"
|
||||
header = "gtnet-skt"
|
||||
|
||||
in = {
|
||||
address = "*:12001",
|
||||
address = "*:12001"
|
||||
|
||||
signals = {
|
||||
count = 8,
|
||||
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"
|
||||
|
||||
out = {
|
||||
uri = "ftp://acs:fake@134.130.169.32/var/villas/log/monitoring_%Y-%m-%d_%H_%M_%S.dat"
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
paths = [
|
||||
paths = (
|
||||
{
|
||||
# Combine data from rtds_gtnet1 and rtds_gtnet2
|
||||
in = [
|
||||
"rtds_gtnet1.hdr.ts.origin",
|
||||
"rtds_gtnet1.ts.origin",
|
||||
"rtds_gtnet1.hdr.sequence",
|
||||
"rtds_gtnet1.data[0-6]",
|
||||
|
||||
"rtds_gtnet2.hdr.ts.origin",
|
||||
"rtds_gtnet2.ts.origin",
|
||||
"rtds_gtnet2.hdr.sequence",
|
||||
"rtds_gtnet2.data[0-6]",
|
||||
],
|
||||
|
@ -70,7 +72,7 @@ paths = [
|
|||
mode = "any",
|
||||
|
||||
# List of nodes which trigger the path
|
||||
mask = [ "rtds_gtnet_1", "rtds_gtnet_2" ],
|
||||
mask = [ "rtds_gtnet1", "rtds_gtnet2" ],
|
||||
|
||||
hooks = (
|
||||
# We dont want to overload the WebBrowsers
|
||||
|
@ -80,4 +82,4 @@ paths = [
|
|||
}
|
||||
)
|
||||
}
|
||||
]
|
||||
)
|
||||
|
|
|
@ -39,8 +39,8 @@ nodes = {
|
|||
|
||||
paths = (
|
||||
{
|
||||
in = [ "rtds_gtnet1" ],
|
||||
out = [ "rtds_gtnet2" ],
|
||||
in = "rtds_gtnet1"
|
||||
out = "rtds_gtnet2"
|
||||
|
||||
reverse = true
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
nodes = {
|
||||
file_node1 = {
|
||||
type = "file",
|
||||
|
||||
uri = "file_send.dat"
|
||||
|
||||
in = {
|
||||
uri = "file_send.dat"
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,41 +1,45 @@
|
|||
nodes = {
|
||||
udp_node1 = {
|
||||
type = "socket",
|
||||
layer = "udp",
|
||||
type = "socket"
|
||||
layer = "udp"
|
||||
|
||||
in = {
|
||||
address = "*:12000"
|
||||
|
||||
signals = {
|
||||
count = 8,
|
||||
type = "float"
|
||||
}
|
||||
},
|
||||
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 = [
|
||||
paths = (
|
||||
{
|
||||
in = [ "udp_node1" ],
|
||||
out = [ "udp_node1" ],
|
||||
in = [ "udp_node1" ]
|
||||
out = [ "udp_node1" ]
|
||||
|
||||
hooks = [
|
||||
hooks = (
|
||||
{
|
||||
type = "decimate",
|
||||
priority = 1,
|
||||
type = "decimate"
|
||||
priority = 1
|
||||
|
||||
# Hook specific parameters follow
|
||||
# [paramter1] = [value1]
|
||||
ratio = 2
|
||||
},
|
||||
{
|
||||
type = "map",
|
||||
type = "scale"
|
||||
|
||||
mapping = [ "data[3]", "data[2]", "data[1]", "data[0]", "hdr.sequence", "ts.origin" ]
|
||||
signal = "sig3"
|
||||
offset = 10.0
|
||||
scale = 2.5
|
||||
}
|
||||
]
|
||||
)
|
||||
}
|
||||
]
|
||||
)
|
||||
|
|
|
@ -45,10 +45,6 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
|
||||
stats = 1
|
||||
debug = 10
|
||||
|
||||
nodes = {
|
||||
node1 = {
|
||||
type = "socket"
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************************/
|
||||
|
||||
stats = 1
|
||||
|
||||
nodes = {
|
||||
sig = {
|
||||
type = "signal",
|
||||
|
|
Loading…
Add table
Reference in a new issue