Skip to content

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.

  • Windows:

    1. %ECAL_DATA%/ecal.ini
    2. %ProgramData%/ecal/ecal.ini
  • Ubuntu:

    1. $ECAL_DATA/ecal.ini
    2. /etc/ecal/ecal.ini (from CMAKE_INSTALL_SYSCONFDIR)
    3. /etc/ecal/ecal.ini (fallback)

ecal.ini options

[network]

The network setting drive how and which …

network_enabled

true / false, default: true

  • true = all eCAL components communicate over network boundaries
  • false = local host only communication

multicast_config_version

v1 / v2, default: v1

  • UDP configuration version (Since eCAL 5.12.)
  • v1 = default behavior
  • v2 = new behavior, comes with a bit more intuitive handling regarding masking of the groups

multicast_group

IPV4 Address, 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 and multicast_mask: 255.255.255.0, topic traffic will be sent on addresses 239.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), default 60000

  • Timeout for topic registration in ms

registration_refresh

< registration_timeout/2, default 1000

  • Topic registration refresh cycle (has to be smaller than 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_ttype

Share topic type via registration layer (0, 1)

default = 1

share_tdesc

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). By 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.