From e79f3edae72f288d7096a145f4f51a87ab15a1ef Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Wed, 10 Feb 2016 19:58:05 +0100 Subject: [PATCH] more updates to documentation --- doc/Install.md | 30 +++++++++++++++++++++++++----- doc/Nodes.md | 39 ++++++++++++++++++++++----------------- doc/nodes/LabView.md | 7 +++++++ doc/nodes/OPAL.md | 4 ++-- 4 files changed, 56 insertions(+), 24 deletions(-) create mode 100644 doc/nodes/LabView.md diff --git a/doc/Install.md b/doc/Install.md index d419c4545..74bb89f4c 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -4,11 +4,16 @@ ### Prerequisites -Install libraries including developement headers for: +Install libraries and developement headers for: - - [libconfig](http://www.hyperrealm.com/libconfig/) for parsing the config file - - [libnl3](http://www.infradead.org/~tgr/libnl/) for the network communication & emulation support - - libOpal{AsyncApi,Core,Utils} for running the S2SS server as an Asynchronous process inside your RT-LAB model + - [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. + - [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. + - [libcurl](https://curl.haxx.se/libcurl/) for HTTP REST requests by the `ngsi` node-type. + - [libuuid](http://sourceforge.net/projects/libuuid/) for generating random IDs. Required by the `ngsi` node-type. Use the following command to install the dependencies under Debian-based distributions: @@ -27,5 +32,20 @@ Afterwards, start the compilation with: $ make Append `V=5` to `make` for a more verbose debugging output. - Append `DEBUG=1` to `make` to add debug symbols. + +### Installation + +Install the files to your search path: + + $ make install + +Append `PREFIX=/opt/local` to change the installation destination. + +### Test + +Verify everything is working and required node-types are compiled-in: + + $ s2ss server + +Will show you the current version of the server including a list of all supported node-types. diff --git a/doc/Nodes.md b/doc/Nodes.md index 54d7048ac..323fe8b76 100644 --- a/doc/Nodes.md +++ b/doc/Nodes.md @@ -1,22 +1,27 @@ -# Nodes {#nodes} +# 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 node is an instance of a node-type. S2SS currently supports the following node-types: -@subpage gtfpga -@subpage opal -@subpage file -@subpage socket -@subpage websocket -@subpage ngsi +#### @subpage gtfpga + - RTDS via GTFPGA and PCIexpress (Linux vfio, uio) + +#### @subpage opal + - OPAL via Asynchronous Process (libOpalAsyncApi) -Use cases: +#### @subpage file + - Log & replay of sample values + - Static load profiles - - RTDS via GTFPGA and UDP (`socket`) - - RTDS via GTFPGA and PCIexpress (`gtfpga`) - - OPAL via Asynchronous Process and UDP (`socket`) - - OPAL via Asynchronous Process and Shared memory (`opal`) - - NGSI 9/10 (FIRWARE context broker, `ngsi`) - - WebSockets for live monitoring (`websocket`) - - Labview (*planned*) - - Simulink (*planned*) +#### @subpage socket + - RTDS via GTFPGA and UDP + - OPAL via Asynchronous Process and UDP + +#### @subpage websocket + - WebSockets for live monitoring and user interaction + +#### @subpage ngsi + - NGSI 9/10 a.k.a. FIRWARE context broker + +#### @subpage labview + - NI LabView RT-targets \ No newline at end of file diff --git a/doc/nodes/LabView.md b/doc/nodes/LabView.md new file mode 100644 index 000000000..f9f335989 --- /dev/null +++ b/doc/nodes/LabView.md @@ -0,0 +1,7 @@ +# 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. + +Have a look at the `clients/labview/` directory. + +@todo Add screenshot \ No newline at end of file diff --git a/doc/nodes/OPAL.md b/doc/nodes/OPAL.md index 04c5c39a6..55792261b 100644 --- a/doc/nodes/OPAL.md +++ b/doc/nodes/OPAL.md @@ -4,10 +4,10 @@ The communication between OPAL-RT models and the S2SS is established by using as 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`) +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 libAsyncApi. + It requires a 32-bit version of the `s2ss-server`. Data exchange is then handled using OPAL-RT's libOpalAsyncApi. The following description applies only to the `opal` node-type: