Eclipse eCAL (enhanced Communication Abstraction Layer) 5.11.0

Highlights

  • New Apps:

    • Mon TUI (ecal_mon_tui) - An htop-like eCAL Monitor running in a terminal

    • Measurement Cutter (ecal_meas_cutter) for trimming and cutting eCAL Measurements (-> Documentation)

  • eCAL Rec can now record each topic to its own file

  • Added Shared-Memory-Monitoring-Layer (experimental, enable via ecal.ini!). This new monitoring layer can locally match publishers and subscribers and distribute monitoring information without the need for UDP Multicast.

  • GUI Apps now start in dark-mode by default

  • Setup for Windows now supports non-admin installations

Changelog

Core:

  • SHM Layer: when using the SHM Acknowledgement, that is now sent after the callback (not before) and subscribers are allowed to act in parallel.
  • SHM Layer Handshake: Fixed and extended API to control the behavior on a per-publisher base
  • Added Shared-memory-monitoring layer (experimental) that can distribute monitoring information locally without UDP. Must be explicitely enabled in ecal.ini.
  • Added new API Call: CPublisher::SetTypeName()
  • Linux: Added option to join Multicast groups on all interfaces. Must be enabled in ecal.ini.
  • Windows: fixed a bug that could have caused sleep functions to sleep longer than expected when the system time would jump backwards
  • Internal rework and refactoring of the SHM Layer
  • Internal improvement: Descgate now prefers publisher's descriptions over subscriber's

Play:

  • eCAL Play GUI can now display more columns with extended information (Channel Type, Total channel size, Min + Max timestamps)
  • Linux: .ecalmeas files are now by default associated with eCAL Play GUI and display the correct icon
  • Linux: eCAL Play now increased the maximum number of open file descriptors itself
  • All GUIs now start by default in dark-mode

Rec:

  • Added One-file-per-topic feature. When enabled, the recorder will put each topic in its own HDF5 file.
  • Rec GUI: Added "Browse" button for selecting a measurement root dir
  • Linux: .ecalrec files are now by default associated with eCAL Rec GUI and display the correct icon
  • All GUIs now start by default in dark-mode

Sys:

  • Linux: .ecalsys files are now by default associated with eCAL Sys GUI and display the correct icon
  • All GUIs now start by default in dark-mode

Mon:

  • Added htop-like TUI (text user interface) application: ecal_mon_tui
  • Renamed old monitor CLI to ecal_mon_cli (it was just plain ecal_mon before)
  • The Protobuf reflection now shows the size of bytes fields
  • Linux: Added support for opening ecal.ini as root when using gnome-text-editor
  • All GUIs now start by default in dark-mode

Meas Cutter:

ecalhdf5 API

  • Fixed a bug that enabled copying a C++ HDF5Meas object which would lead to a crash
  • Added API to save each eCAL topic to its own HDF5 file

Python:

  • Added possibility to read binary data from measurements
  • Added Publisher set_topic_description() and set_topic_type_name() API

CMake & Project structure

  • Removed CMake code that would explicitly fix set the CXX Standard and replaced it with target_options
  • Split eCAL::pb into eCAL::core_pb, eCAL::app_pb and eCAL::time_pb. The old target is still available for compatibility. The pb targets now compile to shared objects on Linux.
  • Udpcap is now available as a separate library and is integrated as a submodule

Samples:

  • Added eCAL Play stepper. This sample can step / stop an eCAL Player based on an input topic.
  • ping_client_dyn sample adapted to demonstrate correct usage of eCAL::protobuf::CProtoDynDecoder
  • Added sample on how to publish / subscribe binary data with C++

Setup:

  • Windows installer now supports non-admin installations
  • libcurl libs are not included in the eCAL installation anymore, as they provide no benefit for the user

eCAL 5.11.0 is patch-level equivalent to eCAL 5.10.4 and 5.9.12

Release Date
Release Type
Minor release
Screenshots