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_group
¶
IPV4 Adress, default
239.0.0.1
UDP multicast group base.
-
multicast_mask
¶
0.0.0.1
-0.0.0.255
Mask maximum number of dynamic multicast group
-
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
[iceoryx]¶
-
service
¶
eCAL
Default Iceoryx service name
-
instance
¶
""
Default Iceoryx service instance name
[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