1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

renamed S2SS to VILLASnode

This commit is contained in:
Steffen Vogel 2016-06-08 23:21:42 +02:00
parent af6af5bb76
commit ad8ee1c3f7
102 changed files with 217 additions and 225 deletions

2
.gitignore vendored
View file

@ -3,7 +3,7 @@
*.so
*~
server
node
pipe
test
signal

View file

@ -1,10 +1,10 @@
# Dockerfile for S2SS development and testing
# Dockerfile for VILLASnode development and testing
#
# Use this Dockerfile running:
# $ make docker
#
# @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
# This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
# This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
# Unauthorized copying of this file, via any medium is strictly prohibited.
###################################################################################
@ -20,7 +20,7 @@ EXPOSE 443
# Install development environement
RUN apt-get update && \
apt-get -y install \
gcc \
gcc \
g++ \
clang \
gdb \
@ -29,7 +29,7 @@ RUN apt-get update && \
make \
cmake \
libc6-dev \
pkg-config \
pkg-config \
doxygen \
dia \
graphviz \
@ -39,14 +39,14 @@ RUN apt-get update && \
# Install dependencies for native arch
RUN apt-get update && \
apt-get -y install \
libconfig-dev \
libnl-3-dev \
libnl-route-3-dev \
libpci-dev \
libjansson-dev \
libcurl4-openssl-dev \
libconfig-dev \
libnl-3-dev \
libnl-route-3-dev \
libpci-dev \
libjansson-dev \
libcurl4-openssl-dev \
libssl-dev \
uuid-dev
uuid-dev
# Install dependencies for 32bit x86 arch (required for 32bit libOpalAsync)
# (64 bit header files are used)
@ -55,20 +55,20 @@ RUN dpkg --add-architecture i386 && \
apt-get -y install \
libc6-dev-i386 \
lib32gcc-4.9-dev \
libconfig9:i386 \
libnl-3-200:i386 \
libnl-route-3-200:i386 \
libpci3:i386 \
libjansson4:i386 \
libcurl3:i386 \
libuuid1:i386
libconfig9:i386 \
libnl-3-200:i386 \
libnl-route-3-200:i386 \
libpci3:i386 \
libjansson4:i386 \
libcurl3:i386 \
libuuid1:i386
# Checkout source code from GitHub
#RUN git clone git@github.com:RWTH-ACS/S2SS.git /s2ss
#RUN git clone git@github.com:RWTH-ACS/VILLASnode.git /villas
WORKDIR /s2ss
WORKDIR /villas
# Compile
#RUN make -C /s2ss
#RUN make -C /villas
ENTRYPOINT /bin/bash

View file

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = "Simulator2Simulator Server (S2SS)"
PROJECT_NAME = "VILLASnode"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version

View file

@ -1,12 +1,12 @@
# Executables
TARGETS = server pipe signal test
TARGETS = node pipe signal test
# Libraries
LIBS = libs2ss.so
LIBS = libvillas.so
DEBUG = 1
# Object files for libs2ss
# Object files for libvillas
LIB_OBJS = sample.o path.o node.o \
kernel.o \
list.o pool.o queue.o lstack.o \
@ -30,7 +30,7 @@ GIT_REV=$(shell git rev-parse --short HEAD)
# Compiler and linker flags
CC ?= gcc
LDLIBS = -pthread -lrt -lm -lconfig -ls2ss
LDLIBS = -pthread -lrt -lm -lconfig -lvillas
CFLAGS += -std=c11 -Iinclude/ -I. -MMD -mcx16
CFLAGS += -Wall -fdiagnostics-color=auto
@ -104,10 +104,10 @@ LIB_LDLIBS += $(shell pkg-config --libs ${PKGS})
all: $(LIBS) $(TARGETS)
# Dependencies for individual binaries
server: server.o $(LIBS)
pipe: pipe.o $(LIBS)
test: test.o $(LIBS)
signal: signal.o $(LIBS)
node: server.o $(LIBS)
pipe: pipe.o $(LIBS)
test: test.o $(LIBS)
signal: signal.o $(LIBS)
# Libraries
$(LIBS): CFLAGS += -fPIC $(LIB_CFLAGS)
@ -117,18 +117,18 @@ $(LIBS): $(LIB_OBJS)
# Common targets
install: $(TARGETS) $(LIBS)
install -m 0644 $(LIBS) $(PREFIX)/lib
install -m 0755 server -T $(PREFIX)/bin/s2ss-server
install -m 0755 signal $(PREFIX)/bin/s2ss-signal
install -m 0755 pipe $(PREFIX)/bin/s2ss-pipe
install -m 0755 test $(PREFIX)/bin/s2ss-test
install -m 0755 tools/s2ss.sh $(PREFIX)/bin/s2ss
install -m 0755 -d $(PREFIX)/include/s2ss/
install -m 0644 include/*.h $(PREFIX)/include/s2ss/
install -m 0755 node -T $(PREFIX)/bin/villas-node
install -m 0755 signal $(PREFIX)/bin/villas-signal
install -m 0755 pipe $(PREFIX)/bin/villas-pipe
install -m 0755 test $(PREFIX)/bin/villas-test
install -m 0755 tools/villas.sh $(PREFIX)/bin/villas
install -m 0755 -d $(PREFIX)/include/villas/
install -m 0644 include/*.h $(PREFIX)/include/villas/
ldconfig
release: all
tar czf s2ss-$(COMMIT)-doc.tar.gz doc/html/
tar czf s2ss-$(COMMIT).tar.gz server test pipe signal etc/
tar czf villas-$(COMMIT)-doc.tar.gz doc/html/
tar czf villas-$(COMMIT).tar.gz node test pipe signal etc/
rsync *.tar.gz $(DEPLOY_USER)@$(DEPLOY_HOST):$(DEPLOY_PATH)/
rsync --archive --delete doc/html/ $(DEPLOY_USER)@$(DEPLOY_HOST):$(DEPLOY_PATH)/doc/
@ -138,8 +138,8 @@ clean:
$(RM) -rf doc/{html,latex}
docker:
docker build -t s2ss .
docker run -it $(DOCKEROPTS) -v $(PWD):/s2ss s2ss
docker build -t villas .
docker run -it $(DOCKEROPTS) -v $(PWD):/villas villas
doc:
doxygen

View file

@ -1,8 +1,8 @@
# Simulator to Simulator Server
[![Travis-CI](https://magnum.travis-ci.com/RWTH-ACS/S2SS.svg?token=9zFzh6dGWonz6LyBspW3&branch=master)](https://magnum.travis-ci.com/RWTH-ACS/S2SS)
[![Travis-CI](https://magnum.travis-ci.com/RWTH-ACS/VILLASnode.svg?token=9zFzh6dGWonz6LyBspW3&branch=master)](https://magnum.travis-ci.com/RWTH-ACS/VILLASnode)
This is S2SS, a gateway to forward and process simulation data between real time simulators.
This is VILLASnode, a gateway to forward and process simulation data between real time simulators.
## Documentation

View file

@ -1,14 +1,14 @@
# S2SS clients
# VILLASnode clients
This directory contains code and projects to connect various simulators and tools to the S2SS server.
Usually, this are projects which are not based on the S2SS source code but which are using the same protocol as defined by the `socket` node-type.
This directory contains code and projects to connect various simulators and tools to VILLASnode.
Usually, this are projects which are not based on the VILLASnode source code but which are using the same protocol as defined by the `socket` node-type.
For a protocol specification, please see `include/msg_format.h`.
- opal/udp
Contains the implementation of an asynchronous process block for RT-LAB.
This block allows exchanging sample values with S2SS over UDP using the `socket` node-type.
This block allows exchanging sample values with VILLASnode over UDP using the `socket` node-type.
Author: Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
- labview
This example model is using LabView standard UDP blocks to exchange sample values with S2SS over UDP using the `socket` node-type.
This example model is using LabView standard UDP blocks to exchange sample values with VILLASnode over UDP using the `socket` node-type.
Author: Eyke Liegmann <ELiegmann@eonerc.rwth-aachen.de>

View file

@ -8,7 +8,7 @@
#ifndef _CONFIG_H_
#define _CONFIG_H_
#define PROGNAME "S2SS-OPAL-UDP"
#define PROGNAME "VILLASnode-OPAL-UDP"
#define VERSION "0.5"
#define MAX_VALUES 64

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -5,7 +5,7 @@
* @author Mathieu Dubé-Dallaire
* @copyright 2003, OPAL-RT Technologies inc
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -42,9 +42,9 @@ include\msg.h=Ascii
include\msg_format.h=Ascii
include\socket.h=Ascii
include\utils.h=Ascii
s2ss.mk=Ascii
villas.mk=Ascii
src\msg.c=Ascii
src\s2ss.c=Ascii
src\main.c=Ascii
src\socket.c=Ascii
src\utils.c=Ascii
[ExtraPutFilesComp_1_RT_LAB]

View file

@ -1442,7 +1442,7 @@ Model {
DstPort 2
}
Annotation {
Name "Simple S2SS to OPAL test using UDP messages"
Name "Simple VILLASnode to OPAL test using UDP messages"
Position [288, 52]
FontName "Verdana"
FontSize 14

View file

@ -87,7 +87,7 @@ static void *SendToIPPort(void *arg)
double mdldata[MSG_VALUES];
int mdldata_size;
/* Data from the S2SS server */
/* Data from VILLASnode */
struct msg msg = MSG_INIT(0);
#ifdef _DEBUG // TODO: workaround
@ -175,7 +175,7 @@ static void *RecvFromIPPort(void *arg)
double mdldata[MSG_VALUES];
int mdldata_size;
/* Data from the S2SS server */
/* Data from VILLASnode */
struct msg msg = MSG_INIT(0);
OpalPrint("%s: RecvFromIPPort thread started\n", PROGNAME);

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -5,7 +5,7 @@
* @author Mathieu Dubé-Dallaire
* @copyright 2003, OPAL-RT Technologies inc
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -51,7 +51,7 @@ INCLUDES = -I.
LIBPATH = -L.
CC_OPTS = -std=c99
LD_OPTS =
OBJS = s2ss.o msg.o utils.o socket.o
OBJS = main.o msg.o utils.o socket.o
ADDLIB = -lOpalCore -lOpalUtils
LIBS = -lOpalAsyncApiCore $(ADDLIB) $(TARGET_LIB)

View file

@ -2,7 +2,7 @@
To "models" folder of OPAL project folder copy:
folder: include
folder: src
file: s2ss.mk
file: villas.mk
----------------------------------------------
@ -16,9 +16,9 @@ include\msg.h=Ascii
include\msg_format.h=Ascii
include\socket.h=Ascii
include\utils.h=Ascii
s2ss.mk=Ascii
villas.mk=Ascii
src\msg.c=Ascii
src\s2ss.c=Ascii
src\villas.c=Ascii
src\socket.c=Ascii
src\utils.c=Ascii

View file

@ -6,7 +6,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -17,7 +17,7 @@
#define _GIT_REV "nogit"
#endif
/** The version number of the s2ss server */
/** The version number of VILLASnode */
#define VERSION "v0.5-" _GIT_REV
/** Default number of values in a message */
@ -31,8 +31,8 @@
#define SOCKET_PRIO 7
/* Protocol numbers */
#define IPPROTO_S2SS 137
#define ETH_P_S2SS 0xBABE
#define IPPROTO_VILLAS 137
#define ETH_P_VILLAS 0xBABE
#define SYSFS_PATH "/sys"
#define PROCFS_PATH "/proc"

View file

@ -2,7 +2,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>S2SS / WebSocket Mockup</title>
<title>VILLASnode / WebSocket Mockup</title>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="jquery-ui/jquery-ui.theme.css" />
<link rel="stylesheet" href="jquery-ui/jquery-ui.structure.css" />
@ -18,7 +18,7 @@
<div id="wrapper">
<div id="header">
<img class="logo" alt="EONERC" src="eonerc_logo.png" />
<h1>S2SS / WebSocket Mockup</h1>
<h1>VILALSnode / WebSocket Mockup</h1>
</div>
<div id="container">
<ul class="node-selector"></ul>

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**
@ -12,8 +12,6 @@
* @{
**********************************************************************************/
//var S2SS = S2SS || {};
/* Class for parsing and printing a message / sample */
function Msg(members) {
for(var k in members)

View file

@ -12,7 +12,7 @@ All communication partners are represented by nodes.
Possible types of nodes are:
* Simulators (OPAL, RTDS)
* Servers (S2SS instances)
* Servers (VILLASnode instances)
* Workstations (Simulink, Labview, ...)
* Data Loggers
* etc..

View file

@ -1,6 +1,6 @@
# Configuration
The S2SS configuration is completly contained in a single file.
The VILLASnode configuration is completly contained in a single file.
Take a look at the example configuration: `server/etc/example.conf`.
The configuration file consists of three sections:
@ -37,13 +37,13 @@ By default, the daemon uses a real-time optimized FIFO scheduling algorithm.
#### `name` *(integer)*
By default the `name` of a S2SS instance is equalt to the hostname of the machine it is running on.
By default the `name` of a VILLASnode instance is equalt to the hostname of the machine it is running on.
Some node types are using this name to identify themselves agains their remotes.
An example is the `ngsi` node type which adds a metadata attribute `source` to its updates.
## Nodes
The node section is a **directory** of nodes (clients) which are connected to the S2SS instance.
The node section is a **directory** of nodes (clients) which are connected to the VILLASnode instance.
The directory is indexed by the name of the node:
nodes = {
@ -113,7 +113,7 @@ The value of this setting determines how many samples will be combined into one
##### `rate` *(float)*
A non-zero value for this setting will change this path to an asynchronous mode.
In this mode S2SS will send with a fixed rate to all destination nodes.
In this mode VILLASnode will send with a fixed rate to all destination nodes.
It will always send the latest value it received, possible skipping values which have been received in between.
If `vectorize` is larger than 1, it will send the last `vectorize` samples at once.

View file

@ -1,15 +1,15 @@
# Development
Developement is currently coordinated by Steffen Vogel <stvogel@eonerc.rwth-aachen.de> using [GitHub](http://github.com/RWTH-ACS/S2SS).
Developement is currently coordinated by Steffen Vogel <stvogel@eonerc.rwth-aachen.de> using [GitHub](http://github.com/RWTH-ACS/VILLASnode).
Please feel free to submit pull requests or bug reports.
## Shared library: libs2ss
## Shared library: libvillas
S2SS is split into a shared library called libs2ss and a couple of executables (`s2ss-server`, `s2ss-pipe`, `s2ss-test`, `s2ss-signal`) which are linked agains the library.
VILLASnode is split into a shared library called libvillas and a couple of executables (`villas-server`, `villas-pipe`, `villas-test`, `villas-signal`) which are linked agains the library.
## Extensibilty
There are two main places where S2SS can easily extended:
There are two main places where VILLASnode can easily extended:
#### New node-type

View file

@ -13,13 +13,13 @@ We prepared a image which you can download and run out of the box:
2. After installing the toolbox, open the "Docker Quickstart Terminal"
3. Start the latest S2SS container by running:
3. Start the latest VILLASnode container by running:
$ docker run rwthacs/s2ss
$ docker run rwthacs/villas
### To be added
S2SS ...
VILLASnode ...
- is written in object-oriented C11
- is compiled with Clang / LLVM or GCC
@ -28,4 +28,4 @@ S2SS ...
- is extensible with new node types
- heavily multi-threaded
- follows the Unix philosophy
- is separated into a library (libs2ss) and a few binaries (server, pipe, test, signal) which link against the lib.
- is separated into a library (libvillas) and a few binaries (server, pipe, test, signal) which link against the lib.

View file

@ -8,7 +8,7 @@ Install libraries and developement headers for:
- [libconfig](http://www.hyperrealm.com/libconfig/) for parsing the configuration file.
- [libnl3](http://www.infradead.org/~tgr/libnl/) for the network communication & emulation support of the `socket` node-type.
- libOpal{AsyncApi,Core,Utils} for running the S2SS server as an Asynchronous process inside your RT-LAB model.
- libOpal{AsyncApi,Core,Utils} for running VILLASnode as an Asynchronous process inside your RT-LAB model.
- [pciuitils](http://mj.ucw.cz/sw/pciutils/) for enumerating PCI devices. Required by `gtfpga` node-type.
- [libjansson](http://www.digip.org/jansson/) JSON parser for `websocket` and `ngsi` node-types.
- [libwebsockets](http://libwebsockets.org) for the `websocket` node-type.
@ -46,6 +46,6 @@ Append `PREFIX=/opt/local` to change the installation destination.
Verify everything is working and required node-types are compiled-in:
$ s2ss server
$ villas server
Will show you the current version of the server including a list of all supported node-types.

View file

@ -1,4 +1,4 @@
S2SS is a client/server application to connect simulation equipment and software such as:
VILLASnode is a client/server application to connect simulation equipment and software such as:
- OPAL-RT eMegaSim,
- RTDS GTFPGA cards,
@ -7,7 +7,7 @@ S2SS is a client/server application to connect simulation equipment and software
- and FPGA models.
It's designed with a focus on very low latency to achieve almost realtime exchange of simulation data.
S2SS is used in distributed- and co-simulation scenarios and developed for the field of power grid simulation at the EON Energy Research Center in Aachen, Germany.
VILLASnode is used in distributed- and co-simulation scenarios and developed for the field of power grid simulation at the EON Energy Research Center in Aachen, Germany.
## Overview
@ -37,10 +37,10 @@ There are two types of clients:
An example for such a node is the 'gtfpga' type which directly fetches and pushes data to a PCIe card.
Or the 'file' type which logs or replays simulation data from the harddisk.
2. An other way to connect simulation equipment is by using a client-application which itself sends the data over the network to the S2SS server.
In this scenario, the S2SS server uses the 'socket' node-type to communicate with the client-application.
2. An other way to connect simulation equipment is by using a client-application which itself sends the data over the network to VILLASnode.
In this scenario, VILLASnode uses the 'socket' node-type to communicate with the client-application.
Usually, new clients / equipemnt should be implemented as a new node-type as part of the S2SS server.
Usually, new clients / equipemnt should be implemented as a new node-type as part of VILLASnode.
Using a dedicated client-application which communicates via the 'socket' type is deprecated because it leads to code duplication.
## Contact

View file

@ -1,7 +1,7 @@
# Node-types {#nodes}
Every server needs clients which act as sinks / sources for simulation data. In case of S2SS these clients are called _nodes_.
Every node is an instance of a node-type. S2SS currently supports the following node-types:
Every server needs clients which act as sinks / sources for simulation data. In case of VILLASnode these clients are called _nodes_.
Every node is an instance of a node-type. VILLASnode currently supports the following node-types:
#### @subpage gtfpga
- RTDS via GTFPGA and PCIexpress (Linux vfio, uio)

View file

@ -1,13 +1,13 @@
# Tools {#tools}
S2SS comes with a couple of tools to test and debug connectivity and configurations.
All S2SS tools are available as subcommands to the `s2ss` wrapper:
VILLASnode comes with a couple of tools to test and debug connectivity and configurations.
All VILLASnode tools are available as subcommands to the `villas` wrapper:
### `s2ss server`
### `villas node`
Starts the simulator to simulator server. The server acts as a central gateway to forward simulation data.
Usage: s2ss-server CONFIG
Usage: villas-node CONFIG
CONFIG is a required path to a configuration file
Supported node types:
@ -17,21 +17,21 @@ Starts the simulator to simulator server. The server acts as a central gateway t
- ngsi: OMA Next Generation Services Interface 10 (libcurl, libjansson, libuuid)
- websocket: Send and receive samples of a WebSocket connection (libwebsockets)
### `s2ss pipe`
### `villas pipe`
The `pipe` subcommand allows to read and write samples to `stdin` / `stdout`.
Usage: s2ss-pipe CONFIG [-r] NODE
Usage: villas-pipe CONFIG [-r] NODE
CONFIG path to a configuration file
NODE the name of the node to which samples are sent and received from
-r swap read / write endpoints)
### `s2ss signal`
### `villas signal`
The `signal` subcommand is a signal generator which writes samples to `stdout`.
This command can be combined with the `pipe` subcommand.
Usage: s2ss-signal SIGNAL [OPTIONS]
Usage: villas-signal SIGNAL [OPTIONS]
SIGNAL is on of: 'mixed', 'random', 'sine', 'triangle', 'square', 'ramp'
-v NUM specifies how many values a message should contain
-r HZ how many messages per second
@ -40,9 +40,9 @@ This command can be combined with the `pipe` subcommand.
-d FLT the standard deviation for 'random' signals
-l NUM only send LIMIT messages and stop
### `s2ss test`
### `villas test`
Usage: s2ss-test CONFIG TEST NODE [ARGS]
Usage: villas-test CONFIG TEST NODE [ARGS]
CONFIG path to a configuration file
TEST the name of the test to execute: 'rtt'
NODE name of the node which shoud be used
@ -51,20 +51,20 @@ This command can be combined with the `pipe` subcommand.
1. Start server:
$ s2ss server etc/example.conf
$ villas node etc/example.conf
2. Receive/dump data to file
$ s2ss pipe etc/example.conf node_name > dump.csv
$ villas pipe etc/example.conf node_name > dump.csv
3. Replay recorded data:
$ s2ss pipe etc/example.conf -r node_name < dump.csv
$ villas pipe etc/example.conf -r node_name < dump.csv
4. Send random generated values:
$ s2ss signal random 4 100 | s2ss pipe etc/example.conf destination_node
$ villas signal random 4 100 | villas pipe etc/example.conf destination_node
5. Test ping/pong latency:
$ s2ss test latency etc/example.conf test_node
$ villas test latency etc/example.conf test_node

View file

@ -7,14 +7,14 @@ A [PREEMPT_RT patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) ker
Precompiled kernels for Fedora can be found here: http://ccrma.stanford.edu/planetccrma/software/
- Install `tuned` package and activate the `realtime` profile. This profile will:
- Reserve some CPU cores solely for S2SS (Kernel cmdline: `isolcpus=[cpu_numbers]`)
- Reserve some CPU cores solely for VILLASnode (Kernel cmdline: `isolcpus=[cpu_numbers]`)
- Activate sub-profiles:
- `network-latency`
- `latency-performance`
- See `/etc/tuned/realtime-variables.conf`
- See `/usr/lib/tuned/realtime/`
- S2SS configuration:
- VILLASnode configuration:
- `affinity`: Maps network card IRQs and threads to isolated cores
- `priority`: Increases priority of network packets and threads

View file

@ -1,11 +1,11 @@
# Usage {#usage}
The S2SS server (`s2ss server`) expects the path to a configuration file as a single argument.
VILLASnode (`villas node`) expects the path to a configuration file as a single argument.
Usage: ./s2ss-server CONFIG
Usage: ./villas-node CONFIG
CONFIG is a required path to a configuration file
Simulator2Simulator Server 0.1-d7de19c (Jun 4 2014 02:50:13)
VILLASnode 0.1-d7de19c (Jun 4 2014 02:50:13)
Copyright 2015, Institute for Automation of Complex Power Systems, EONERC
Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
@ -24,7 +24,7 @@ The server requires root privileges for:
- Or load .exe from this website (no installation required)
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
2. Connect to S2SS server
2. Connect to VILLASnode
| Setting | Value |
| :------- | :-------------- |
@ -34,9 +34,9 @@ The server requires root privileges for:
| User | root |
| Password | *please ask msv |
3. Go to S2SS directory
3. Go to VILLASnode directory
$ cd /s2ss/
$ cd /villas/
4. Edit configuration file
@ -48,7 +48,7 @@ The server requires root privileges for:
5. Start server
$ s2ss server etc/opal-test.conf
$ villas node etc/opal-test.conf
6. Terminate server by pressing Ctrl+C

View file

@ -1,6 +1,6 @@
# LabView {#labview}
We build an example LabView model which is using the UDP message format of the `socket` node-type to communicate with the S2SS server.
We build an example LabView model which is using the UDP message format of the `socket` node-type to communicate with VILLASnode.
Have a look at the `clients/labview/` directory.

View file

@ -1,13 +1,13 @@
# OPAL-RT Asynchronous Process {#opal}
The communication between OPAL-RT models and the S2SS is established by using asynchronous programs.
The communication between OPAL-RT models and VILLASnode is established by using asynchronous programs.
Asynchronous programs are are a feature of RT-LAB. They are used to exchange data between Simulink models and custom C programs.
There are two ways to exchange sample values with an OPAL-RT simulator:
1. Use our adapted version of OPAL-RT's AsyncIP example for asynchronous processes (see `clients/opal/` directory)
In this mode, OPAL will send sample data via UDP to S2SS. S2SS has to use the `socket` node-type.
2. Run S2SS as an asynchronous process itself. This is a highly experimental feature and implemented in the node-type `opal`.
It requires a 32-bit version of the `s2ss-server`. Data exchange is then handled using OPAL-RT's libOpalAsyncApi.
In this mode, OPAL will send sample data via UDP to VILLASnode. VILLASnode has to use the `socket` node-type.
2. Run VILLASnode as an asynchronous process itself. This is a highly experimental feature and implemented in the node-type `opal`.
It requires a 32-bit version of the `villas-node`. Data exchange is then handled using OPAL-RT's libOpalAsyncApi.
The following description applies only to the `opal` node-type:

View file

@ -98,7 +98,7 @@ This allows us to reduce the amount of conversions during one transfer.
## Network Emulation {#netem}
S2SS supports the emulation of wide-area network characterisics.
VILLASnode supports the emulation of wide-area network characterisics.
This emulation can be configured on a per-node basis for **outgoing** (egress) data only.
Incoming data is not processed by the network emulation!
@ -106,7 +106,7 @@ Incoming data is not processed by the network emulation!
This network emulation is handled by Linux' [netem queuing discipline](http://www.linuxfoundation.org/collaborate/workgroups/networking/netem) which is part of the traffic control subsystem.
Take a look at the following manual page for supported metrics: [tc-netem(8)](http://man7.org/linux/man-pages/man8/tc-netem.8.html).
S2SS only takes care of setup and initalizing the netem queuing discipline inside the kernel.
VILLASnode only takes care of setup and initalizing the netem queuing discipline inside the kernel.
For this the iproute2 software package (`ip` & `tc` commands) must be installed.
The configuration is done via the config file.
Look at `etc/example.conf` for a section called `netem` or `tc-netem(8)` for more details.

View file

@ -16,7 +16,7 @@ There is no node specific configuration.
http = {
port = 8080;
htdocs = "/opt/s2ss/contrib/websocket/";
htdocs = "/villas/contrib/websocket/";
ssl_cert = "/etc/ssl/certs/mycert.pem";
ssl_private_key= "/etc/ssl/private/mykey.pem";
}

View file

@ -1,4 +1,4 @@
# Example configuration file for the S2SS server
# Example configuration file for VILLASnode
#
# This example includes all valid configuration options for the server.
# Please note, that using all options at the same time does not really
@ -27,7 +27,7 @@ debug = 5; # The level of verbosity for debug messages
stats = 3; # The interval in seconds to print path statistics.
# A value of 0 disables the statistics.
name = "s2ss-acs" # The name of this S2SS instance. Might by used by node-types
name = "villas-acs" # The name of this VILLASnode. Might by used by node-types
# to identify themselves (default is the hostname).

View file

@ -5,7 +5,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -7,7 +7,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -5,7 +5,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -8,7 +8,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2015-2016, Steffen Vogel
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -9,7 +9,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -6,7 +6,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -9,7 +9,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -8,7 +8,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -9,7 +9,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -1,15 +1,9 @@
/** Nodes
*
* The S2SS server connects multiple nodes.
* There are multiple types of nodes:
* - simulators
* - servers
* - workstations
*
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*
* @addtogroup node Node

View file

@ -5,7 +5,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/** A path connects one input node to multiple output nodes (1-to-n).

View file

@ -5,7 +5,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/

View file

@ -12,7 +12,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/

View file

@ -5,7 +5,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -8,7 +8,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -6,7 +6,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
/**

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2015-2016, Steffen Vogel
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -4,7 +4,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -96,7 +96,7 @@ void log_vprint(const char *lvl, const char *fmt, va_list ap)
/* Output */
#ifdef ENABLE_OPAL_ASYNC
OpalPrint("S2SS: %s\n", buf);
OpalPrint("VILLASnode: %s\n", buf);
#endif
fprintf(stderr, "\r%s\n", buf);
free(buf);

View file

@ -7,7 +7,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
**********************************************************************************/

View file

@ -1,10 +1,10 @@
/** Netlink related functions.
*
* S2SS uses libnl3 to talk to the Linux kernel to gather networking related information
* VILLASnode uses libnl3 to talk to the Linux kernel to gather networking related information
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -4,7 +4,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -72,7 +72,7 @@ int opal_init(int argc, char *argv[], config_setting_t *cfg)
error("Failed to get list of recv ids (%d)", err);
info("Started as OPAL Asynchronous process");
info("This is Simulator2Simulator Server (S2SS) %s (built on %s, %s)",
info("This is VILLASnode %s (built on %s, %s)",
VERSION, __DATE__, __TIME__);
opal_print_global();

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -451,7 +451,7 @@ int socket_parse_addr(const char *addr, struct sockaddr *saddr, enum socket_laye
if (!link)
error("Failed to get network interface: '%s'", ifname);
sa->sll.sll_protocol = htons((proto) ? strtol(proto, NULL, 0) : ETH_P_S2SS);
sa->sll.sll_protocol = htons((proto) ? strtol(proto, NULL, 0) : ETH_P_VILLAS);
sa->sll.sll_halen = 6;
sa->sll.sll_family = AF_PACKET;
sa->sll.sll_ifindex = rtnl_link_get_ifindex(link);
@ -477,7 +477,7 @@ int socket_parse_addr(const char *addr, struct sockaddr *saddr, enum socket_laye
switch (layer) {
case LAYER_IP:
hint.ai_socktype = SOCK_RAW;
hint.ai_protocol = (service) ? strtol(service, NULL, 0) : IPPROTO_S2SS;
hint.ai_protocol = (service) ? strtol(service, NULL, 0) : IPPROTO_VILLAS;
hint.ai_flags |= AI_NUMERICSERV;
break;

View file

@ -1,10 +1,10 @@
/** Traffic control (tc): setup interface queuing desciplines.
*
* S2SS uses these functions to setup the network emulation feature.
* VILLASnode uses these functions to setup the network emulation feature.
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -21,9 +21,9 @@
void print_copyright()
{
printf("Simulator2Simulator Server %s (built on %s %s)\n",
printf("VILLASnode %s (built on %s %s)\n",
BLU(VERSION), MAG(__DATE__), MAG(__TIME__));
printf(" copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC\n");
printf(" copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC\n");
printf(" Steffen Vogel <StVogel@eonerc.rwth-aachen.de>\n");
}

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -5,7 +5,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*
* @addtogroup tools Test and debug tools

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/
@ -144,7 +144,7 @@ int main(int argc, char *argv[])
char *configfile = (argc == 2) ? argv[1] : "opal-shmem.conf";
log_init();
info("This is Simulator2Simulator Server (S2SS) %s (built on %s, %s)", BLD(YEL(VERSION)),
info("This is VILLASnode %s (built on %s, %s)", BLD(YEL(VERSION)),
BLD(MAG(__DATE__)), BLD(MAG(__TIME__)));
/* Checks system requirements*/

View file

@ -3,7 +3,7 @@
* @file
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*
* @addtogroup tools Test and debug tools
@ -112,7 +112,7 @@ check: if (optarg == endptr)
struct sample *s = alloc(SAMPLE_LEN(values));
/* Print header */
printf("# S2SS signal params: type=%s, values=%u, rate=%f, limit=%d, amplitude=%f, freq=%f\n",
printf("# VILLASnode signal params: type=%s, values=%u, rate=%f, limit=%d, amplitude=%f, freq=%f\n",
argv[1], values, rate, limit, ampl, freq);
printf("# %-20s\t\t%s\n", "sec.nsec(seq)", "data[]");

View file

@ -2,7 +2,7 @@
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2014-2016, Institute for Automation of Complex Power Systems, EONERC
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
* This file is part of VILLASnode. All Rights Reserved. Proprietary and confidential.
* Unauthorized copying of this file, via any medium is strictly prohibited.
*********************************************************************************/

View file

@ -1,6 +1,6 @@
# Python tools
These python scripts are intended to manipulate measurements recorded by S2SS's `file` node-type.
These python scripts are intended to manipulate measurements recorded by VILLASnode's `file` node-type.
## Exampples

View file

@ -2,19 +2,19 @@
import sys
import s2ss
from s2ss import *
import villas
from villas import *
def main():
if len(sys.argv) != 3:
print "Usage: %s from to" % (sys.argv[0])
sys.exit(-1)
start = s2ss.Timestamp.parse(sys.argv[1])
end = s2ss.Timestamp.parse(sys.argv[2])
start = villas.Timestamp.parse(sys.argv[1])
end = villas.Timestamp.parse(sys.argv[2])
for line in sys.stdin:
msg = s2ss.Message.parse(line)
msg = villas.Message.parse(line)
if start <= msg.ts <= end:
print msg

View file

@ -2,8 +2,8 @@
import sys
import s2ss
from s2ss import *
import villas
from villas import *
def main():
files = sys.argv[1:]
@ -16,10 +16,10 @@ def main():
msgs = [ ]
for line in handle.xreadlines():
msgs.append(s2ss.Message.parse(line, file))
msgs.append(villas.Message.parse(line, file))
all += msgs
last[file] = s2ss.Message(s2ss.Timestamp(), [0] * len(msgs[0].values), file)
last[file] = villas.Message(villas.Timestamp(), [0] * len(msgs[0].values), file)
all.sort()
for msg in all:
@ -29,7 +29,7 @@ def main():
for file in files:
values += last[file].values
print s2ss.Message(msg.ts, values, "")
print villas.Message(msg.ts, values, "")
if __name__ == "__main__":
main()

View file

@ -1,7 +1,7 @@
from . import ts
class Message:
"""Parsing a S2SS from a file (not a UDP package!!)"""
"""Parsing a VILLASnode sample from a file (not a UDP package!!)"""
def __init__(self, ts, values, source = None):
self.source = source

View file

@ -1,7 +1,7 @@
import re
class Timestamp:
"""Parsing the S2SS timestamp format"""
"""Parsing the VILLASnode human-readable timestamp format"""
def __init__(self, seconds = 0, nanoseconds = None, offset = None, sequence = None):
self.seconds = seconds

Some files were not shown because too many files have changed in this diff Show more