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:
parent
af6af5bb76
commit
ad8ee1c3f7
102 changed files with 217 additions and 225 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -3,7 +3,7 @@
|
|||
*.so
|
||||
*~
|
||||
|
||||
server
|
||||
node
|
||||
pipe
|
||||
test
|
||||
signal
|
||||
|
|
42
Dockerfile
42
Dockerfile
|
@ -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
|
2
Doxyfile
2
Doxyfile
|
@ -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
|
||||
|
|
38
Makefile
38
Makefile
|
@ -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
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Simulator to Simulator Server
|
||||
|
||||
[](https://magnum.travis-ci.com/RWTH-ACS/S2SS)
|
||||
[](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
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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)
|
|
@ -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
|
||||
|
||||
|
|
8
config.h
8
config.h
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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..
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
30
doc/Tools.md
30
doc/Tools.md
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
14
doc/Usage.md
14
doc/Usage.md
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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";
|
||||
}
|
|
@ -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).
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
2
lib/if.c
2
lib/if.c
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
**********************************************************************************/
|
||||
|
||||
|
|
4
lib/nl.c
4
lib/nl.c
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
4
lib/tc.c
4
lib/tc.c
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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*/
|
||||
|
|
|
@ -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[]");
|
||||
|
||||
|
|
|
@ -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.
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
|
@ -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
Loading…
Add table
Reference in a new issue