ecal.ini
eCAL has many options that can be configured via an .ini file which is located at:
|fa-windows| Windows: |ecalini-path-windows|
|fa-ubuntu| Ubuntu: |ecalini-path-ubuntu|
Loading strategy (Priority)
The eCAL configuration file is loaded based on the following priorities, whereever it is found first.
If you want a specific eCAL Node to run with another ecal.ini
than the others, you can set the ECAL_DATA
variable before starting the process, e.g. from a batch or shell skript.
In addition, some eCAL applications support providing a path from the command line option --ecal-ini-file
.
Important
This loading strategy is valid for eCAL 5.10 and up.
|fa-windows| Windows:
%ECAL_DATA%/ecal.ini
%ProgramData%/ecal/ecal.ini
|fa-ubuntu| Ubuntu:
$ECAL_DATA/ecal.ini
/etc/ecal/ecal.ini
(fromCMAKE_INSTALL_SYSCONFDIR
)/etc/ecal/ecal.ini
(fallback)Note
This second path is set from CMake to
CMAKE_INSTALL_SYSCONFDIR/ecal/ecal.ini
. Official builds are configured to use/etc
. If you are compiling eCAL yourself and don’t provide the SYSCONFDIR, CMake will usually use/usr/local/etc/ecal/ecal.ini
.
ecal.ini options
[network]
The network setting drive how and which …
- network_enabled
true
/false
, default:true
true
= all eCAL components communicate over network boundariesfalse
= local host only communication
- multicast_config_version
v1
/v2
, default:v1
UDP configuration version (Since eCAL 5.12.)
v1
= default behaviorv2
= new behavior, comes with a bit more intuitive handling regarding masking of the groups
- multicast_group
IPV4 Adress, default
239.0.0.1
UDP multicast group base. All registration and logging information is sent on this address.
- multicast_mask
v1
behavior:0.0.0.1
-0.0.0.255
Mask maximum number of dynamic multicast group
v2
behavior:255.0.0.0
-255.255.255.255
Mask for the multicast group. Topic traffic may be set on any of the unmasked addresses.
With
multicast_group
:239.0.0.1
andmulticast_mask
:255.255.255.0
, topic traffic will be sent on addresses239.0.0.0
-239.0.0.255
.
- multicast_port
14000 + x
UDP multicast port number (eCAL will use at least the 2 following port numbers too, so please modify in steps of 10 (e.g. 1010, 1020 …)
- multicast_ttl
0 + x
UDP ttl value, also known as hop limit, is used in determining the intermediate routers being traversed towards the destination
- multicast_sndbuf
1024 * x
UDP send buffer in bytes
- multicast_rcvbuf
1024 * x
UDP receive buffer in bytes
- bandwidth_max_udp
1048576
UDP bandwidth limit for eCAL udp layer (-1 == unlimited)
- shm_rec_enabled
true
Enable to receive on eCAL shared memory layer
- udp_mc_rec_enabled
true
Enable to receive on eCAL udp multicast layer
- npcap_enabled
false
Enable to receive UDP traffic with the Npcap based receiver
[common]
- registration_timeout
1000 + (x * 1000)
, default60000
timeout for topic registration in ms
- registration_refresh
< registration_timeout/2
, default1000
topic registration refresh cylce (has to be smaller then registration timeout !)
[time]
- timesync_module_rt
default:
"ecaltime-localtime"
module (dll / so) name time sync interface. The name will be extended with debug suffix (d) and platform extension (.dll|.so)
Available modules are:
ecaltime-localtime local system time without synchronization
ecaltime-linuxptp For PTP / gPTP synchronization over ethernet on Linux (device configuration in ecaltime.ini)
ecaltime-simtime Simulation time as published by the eCAL Player.
[process]
- terminal_emulator
default:
""
command for starting applications with an external terminal emulator. If empty, the command will be ignored. Ignored on Windows.
e.g:
/usr/bin/x-terminal-emulator -e
/usr/bin/gnome-terminal -x
/usr/bin/xterm -e
[publisher]
- use_shm
use shared memory transport layer
0 = off
1 = on
2 = auto
default = 2
- use_udp_mc
use udp multicast transport layer
0 = off
1 = on
2 = auto
default = 2
- memfile_minsize = x * 4096 kB
default memory file size for new publisher (
x * 4096 kB
)default = 4096
- memfile_reserve
dynamic file size reserve before recreating memory file if topic size changes (
20 .. x
)default = 50
- memfile_ack_timeout
Publisher timeout for ack event from subscriber that memory file content is processed
default = 0
share topic type via registration layer (
0, 1
)default = 1
share topic description via registration layer (
0, 1
) If set to 0, reflection is completely disabled. It is not possible then to monitor the content of messages in the eCAL Monitor.default = 1
[monitoring]
Monitor settings are listed in the section monitoring
- timeout
timeout for topic monitoring in ms (
1000 + (x * 1000)
) If no additional registration information for the topic has be received in that time period, topics will no longer be shown in eCAL Monitor.default = 5000
- filter_excl
topics blacklist as regular expression (will not be monitored) Per default includes all eCAL internal topics.
default =
^__.*$
- filter_incl
topics whitelist as regular expression (will be monitored only)
default = `` ``
- filter_log_con
log messages to console (all, info, warning, error, fatal, debug1, debug2, debug3, debug4)
default =
error, fatal
- filter_log_file
log messages to log file
default =
error, fatal
- filter_log_udp
log messages to udp bus
default =
info, warning, error, fatal
[sys]
- filter_excl
Apps blacklist to be excluded when importing tasks from cloud.