mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
improving documentation
This commit is contained in:
parent
03b8874525
commit
006440567a
11 changed files with 51 additions and 29 deletions
2
Doxyfile
2
Doxyfile
|
@ -771,7 +771,7 @@ INPUT = server/ \
|
|||
clients/ml507_ppc440_udp/pcores/ \
|
||||
clients/ml507_ppc440_udp/s2ss/ \
|
||||
clients/ml507_gtfpga_pcie/code/ \
|
||||
clients/opal_udp/models/AsyncIP_sl/s2ss/
|
||||
clients/opal_udp/models/send_receive/src/
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
|
|
|
@ -9,8 +9,9 @@ Every server needs clients which act as sinks / sources for simulation data. In
|
|||
|
||||
Take a look at the `clients/` directory for them:
|
||||
|
||||
- RTDS UDP Network Card ?
|
||||
- RTDS via GTFPGA
|
||||
- OPAL
|
||||
- Labview
|
||||
- Simulink
|
||||
- RTDS via GTFPGA and UDP
|
||||
- RTDS via GTFPGA and PCIexpress
|
||||
- OPAL via Asynchronous Process and UDP
|
||||
- OPAL via Asynchronous Process and Shared memory
|
||||
- Labview (*planned*)
|
||||
- Simulink (*planned*)
|
||||
|
|
|
@ -3,14 +3,18 @@
|
|||
## Operating System and Kernel
|
||||
|
||||
For minimum latency several kernel and driver settings can be optimized.
|
||||
A [RT-preemp patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) kernel is recommended.
|
||||
A [RT-preempt patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) kernel is recommended.
|
||||
Precompiled kernels for Fedora can be found here: http://ccrma.stanford.edu/planetccrma/software/
|
||||
|
||||
- Map NIC IRQs => see setting `affinity`
|
||||
|
||||
- Map Tasks => see setting `affinity`
|
||||
- Kernel command line: isolcpus=[cpu_number]
|
||||
- Nice Task => see setting `priority`
|
||||
|
||||
- Increase priority of server task (nice(2)) => see setting `priority`
|
||||
|
||||
- Increase socket priority
|
||||
|
||||
- Configure NIC interrupt coalescence with `ethtool`:
|
||||
|
||||
$ ethtool -C|--coalesce devname [adaptive-rx on|off] [adaptive-tx on|off] ...
|
||||
|
@ -27,8 +31,6 @@ This are some proposals for the selection of appropriate server hardware:
|
|||
|
||||
- Server-grade CPU: Intel Xeon
|
||||
- A multi-core systems allows parallization of send/receive paths.
|
||||
|
||||
- Server-grade network cards: Intel PRO/1000
|
||||
- These allow offloading of UDP checksumming to the hardware
|
||||
|
||||
\example server/etc/loopback.conf
|
||||
\example server/etc/example.conf
|
||||
|
|
|
@ -7,8 +7,10 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @addtogroup file File-IO node type
|
||||
* @ingroup node
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -10,8 +10,10 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @addtogroup gtfpga RTDS - PCIexpress Fiber interface node type
|
||||
* @ingroup node
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -11,8 +11,10 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @addtogroup hooks User-defined hook functions
|
||||
* @ingroup path
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
|
@ -32,6 +34,7 @@ __attribute__((constructor)) void __register_ ## fnc () { \
|
|||
/* Forward declarations */
|
||||
struct path;
|
||||
|
||||
/** This is a list of hooks which can be used in the configuration file. */
|
||||
extern struct list hooks;
|
||||
|
||||
/** Callback type of hook function
|
||||
|
@ -42,6 +45,7 @@ extern struct list hooks;
|
|||
*/
|
||||
typedef int (*hook_cb_t)(struct path *p);
|
||||
|
||||
/** The type of a hook defines when a hook will be exectuted. */
|
||||
enum hook_type {
|
||||
HOOK_PATH_START, /**< Called whenever a path is started; before threads are created. */
|
||||
HOOK_PATH_STOP, /**< Called whenever a path is stopped; after threads are destoyed. */
|
||||
|
@ -56,7 +60,7 @@ enum hook_type {
|
|||
HOOK_MAX
|
||||
};
|
||||
|
||||
/** Descriptor for user defined hooks. See hook_list[]. */
|
||||
/** Descriptor for user defined hooks. See hooks[]. */
|
||||
struct hook {
|
||||
/** The unique name of this hook. This must be the first member! */
|
||||
const char *name;
|
||||
|
@ -65,13 +69,13 @@ struct hook {
|
|||
enum hook_type type;
|
||||
};
|
||||
|
||||
struct hook * hook_lookup(const char *name);
|
||||
|
||||
/* The following prototypes are example hooks */
|
||||
|
||||
/** Example hook: Print the message.
|
||||
* @example
|
||||
/** The following prototypes are example hooks
|
||||
*
|
||||
* @addtogroup hooks_examples Examples for hook functions
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** Example hook: Print the message. */
|
||||
int hook_print(struct path *p);
|
||||
|
||||
/** Example hook: Drop messages. */
|
||||
|
@ -100,4 +104,4 @@ int hook_restart(struct path *p);
|
|||
/** Core hook: check if sequence number is correct. Otherwise message will be dropped */
|
||||
int hook_drop(struct path *p);
|
||||
|
||||
#endif /** _HOOKS_H_ @} */
|
||||
#endif /** _HOOKS_H_ @} @} */
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
* @addtogroup node Node
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
#ifndef _NODE_H_
|
||||
|
@ -224,4 +227,4 @@ struct node * node_create();
|
|||
*/
|
||||
void node_destroy(struct node *n);
|
||||
|
||||
#endif /* _NODE_H_ */
|
||||
#endif /** _NODE_H_ @} */
|
||||
|
|
|
@ -7,8 +7,10 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
* @addtogroup opal OPAL-RT Asyc Process node type
|
||||
*/
|
||||
/**
|
||||
* @ingroup node
|
||||
* @addtogroup opal OPAL-RT Async Process node type
|
||||
* @{
|
||||
**********************************************************************************/
|
||||
|
||||
|
|
|
@ -4,7 +4,12 @@
|
|||
* @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.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*/
|
||||
/** A path connects one input node to multiple output nodes (1-to-n).
|
||||
*
|
||||
* @addtogroup path Path
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
#ifndef _PATH_H_
|
||||
|
@ -147,4 +152,4 @@ int path_print(struct path *p, char *buf, int len);
|
|||
*/
|
||||
int path_run_hook(struct path *p, enum hook_type t);
|
||||
|
||||
#endif /* _PATH_H_ */
|
||||
#endif /** _PATH_H_ @} */
|
||||
|
|
|
@ -7,8 +7,10 @@
|
|||
* @copyright 2014-2015, Institute for Automation of Complex Power Systems, EONERC
|
||||
* This file is part of S2SS. All Rights Reserved. Proprietary and confidential.
|
||||
* Unauthorized copying of this file, via any medium is strictly prohibited.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @addtogroup socket BSD Socket Node Type
|
||||
* @ingroup node
|
||||
* @{
|
||||
*********************************************************************************/
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
/* Some hooks can be configured by constants in te file "config.h" */
|
||||
|
||||
/** This is a static list of available hooks. */
|
||||
struct list hooks;
|
||||
|
||||
REGISTER_HOOK("print", 99, hook_print, HOOK_MSG)
|
||||
|
|
Loading…
Add table
Reference in a new issue