ecal.ini#
eCAL has many options that can be configured via an .ini file which is located at:
Windows:
C:\ProgramData\eCAL\ecal.ini
Ubuntu:
/etc/ecal/ecal.ini
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.
Windows:
%ECAL_DATA%/ecal.ini
%ProgramData%/ecal/ecal.ini
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)
- inproc_rec_enabled#
true
Enable to receive on eCAL inner process layer
- 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_inproc#
use inner process transport layer
0 = off
1 = on
2 = auto
default = 0
- 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.