VILLASframework
Modular co-simulation framework
|
Sometimes forwarded sample data shall be modified or filtered. VILLASnode supports hooks for this purpose. Hooks are simple callback functions which are called whenever a message is processed by a path.
There are several built-in hooks for:
But main goal of this mechanism is to provide extensibility for the end user. Example applications for hooks might be:
Hooks can be added to the processing pipeline in three places:
Some hooks are built-in hooks which are by default enabled without a corresponding section in the configuration file. Usually, built-in hooks have no configurable options.
Currently, the following node-hook-types are supported:
Type | Built-in | Node-read | Node-write | Path | State | Comment |
---|---|---|---|---|---|---|
Average signal values | yes | yes | yes | stable | Calculate average over some signals | |
Cast signal values | stable | Cast signals types | ||||
Decimate sample rate | yes | yes | yes | stable | Downsamping by integer factor | |
Dynamic Phasor calculation / DFT | yes | yes | yes | alpha | Transform to/from dynamic phasor domain | |
Drop reordered samples | yes | yes | stable | Drop messages with reordered sequence numbers | ||
Dump sample data | yes | yes | yes | stable | Dump data to stdout | |
Energy Based Metric calculation | alpha | Energy-based Metric | ||||
Fix missing metadata | yes | yes | stable | Fix received data by adding missing fields | ||
Calculate Jitter | yes | stable | Calc jitter, mean and variance of GPS vs NTP TS | |||
Limit rate | yes | yes | yes | stable | Limit sending rate | |
Lua scripting | yes | yes | yes | stable | Lua scripting support | |
Handle restarts | yes | yes | stable | Call restart hooks for current node | ||
Scale and offset signals | yes | yes | yes | stable | Scale signals by a factor and add offset | |
Shift sequence numbers | yes | yes | stable | Shift sequence number of samples | ||
Shift timestamps | yes | yes | stable | Shift timestamps of samples | ||
Skip First Samples | yes | yes | yes | stable | Skip the first samples | |
Statistic collection | yes | stable | Collect statistics for the current path | |||
Timestamp | yes | yes | yes | stable | Overwrite origin timestamp of samples with receive timestamp | |
Print sample data | yes | yes | yes | stable | Print the message to stdout |