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 plainecal_mon
before) - The Protobuf reflection now shows the size of
bytes
fields - Linux: Added support for opening
ecal.ini
as root when usinggnome-text-editor
- All GUIs now start by default in dark-mode
Meas Cutter:
- New command line application for trimming measurements and removing topics via allow- / deny-list. See the documentation for a guide on how to use it: https://eclipse-ecal.github.io/ecal/applications/meas_cutter/meas_cutter.html
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()
andset_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