ADTF  3.18.3
ADTF 3.17.0 Release Notes

ADTF 3.17.0 Summary

ADTF Configuration NextGen

The CE is the heart of the tooling within ADTF. Besides designing runtime behavior by connecting different components together and properly launch and monitor the running sessions from this kind of control center, you can handle several instances, include content from other sessions and configure different toolings and launch options.

  • Is the tool too static regarding arrangements of the different areas? YES!
  • Does it seems to be untidy? YES!
  • Are you missing flexibility? YES!
  • Are you tired of performance and usability of larger graphs? YES!
  • Is it annyoing to open several instances to work with more than one session, especially when developing nested and including graphs ? YES!

BUT THIS IS OVER NOW!

The new ADTF Configuration Editor also uses Qt Advanced Docking System (well known from Qt5 ADTF XSystem UI Service), which gives you any possibility to move, tab and dock each view or even floating arrangements on several monitors. You can still connect to several running sessions and now also view, edit and persist property changes. Furthermore, the Sessions view and Filter Graph Editor has been reworked to handle several sessions at once, duplicate graphs or edit included graphs side by side - no black-box anymore! Your scope is still the selected session but many more options, including space. You will miss the Session and System Editor ? It is now where it has to be: a kind of options of a session itself and a window in the background only when you have to configure services or session file relations.

Please have a detailed looked at the reworked guide to get in touch with the new features - you will love it!

New MAC-independent license mechanism

The future is now, and ADTF has to handle highly-scalable solutions, which might be executed in cloud instances. In these scenareos (and other docker/image based setups) the old-fashioned MAC-based license mechanism blocks these easy integrations. With the licenseHUB from digitalwerk and its client for ADTF, we can integrate an independent and flexible solution for virtual environments - without loosing the benefits of single-seated (node-locked) and floating (server) options: an all-in-one state of the art achievement. Please keep in mind, that this mechanism can also handle the legacy license mechanism as fallback, so there is no need to change the license file for updating to ADTF 3.17 (but we recommend to do so as soon as possible).

Runner for Streaming Services

Since the integration of streaming services in filter graph there has been a left over limitation, that the (legacy) streaming graph does not support runners, streaming sources and sinks have to handle their runtime behavior by themselves - this is gone! With this version, you can also create runner ports for streaming services as known from filters to be able to configure them with active runners in graph, for example to handle time barriers (Timer Runner), define own threads (Thread Runner) or control them manually using RPC like ADTF Control (RPC Runner) or keyboards (Qt5 Key Event Runner). We adapted all existing streaming sources and sinks to this behavior, but also provided a fallback if their is no active runner connected (to avoid breaking your existing sessions).

New base classes for Substream Filters

Substreams are the best effort and way to handle high data, especially for decoding or requesting only what you really need. Another benefit is that they reduce a lot of complexity within a graph especially for drawing connections. There is a bunch of filters to help you convert, access and more to get in touch with these awesome mechanism, but if you want to implement own filters using substreams, you might get stuck of request handling or similar. For this, we extend our SDK to wrap these functionality for your convenience. Simply have a deeper look at adtf::filter::riddler::cSubstreamFilter and adtf::filter::riddler::cSubstreamHandling. Didn't use substreams yet ? Now is a good time to start!

Runtime GUI Settings

We have extended the Qt5 ADTF XSystem UI Service and ADTF UI SDK to provide a central solution for handling runtime UI settings within widgets of components itself. The only thing you have to do is using adtf::ui::riddler::IQtXSystem::IWindowState for saving (adtf::ui::riddler::IQtXSystem::IWindowState::OnSaveState) and loading (adtf::ui::riddler::IQtXSystem::IWindowState::OnLoadState). The way of serialization is up to you (see the the provided snippets of class and functions), we recommend using QSettings.

Please note that we will add an import/export functionality within Qt5 ADTF XSystem UI Service in upcoming versions.

Qt5 Substream Display (BETA)

We put a lot of effort - again - to come closer to our stable release for the Qt5 Substream Display, besides stability and usability we now provide the initial versions of a Trace View and Line Graph Display - two missing gaps in ADTF! Tracing DDL data has been never here before (besides bus data in Device Toolbox), but also getting rid of Signal Registry Service and Display Toolbox to measure data points over time is the biggest approach we want to give using the Line Graph. It is based on the same functionality you might already know from Scope View, but better, improved - and still investigating in upcoming versions!

Note
As always, we appreciate your feedback, especially for the usage of this new display solution!

Additional changes

There are some basic extensions which are very helpful for your daily work:

  • CE's Property Editor can now connect to running sessions to change and persist runtime properties
  • Add option for automatic saving
  • Add TAI timebase support for Sync2Ref
  • Control simulation clocks in XSystem even if they are not controlled by the player
  • Reset simulation clock when required (see Playback Service)
  • Dump session information at start up as LOG_DETAIL
  • Provide content from Sample Stream Tracer RPC as substreams (see Sample Stream Trace Statistics)
  • Add a new default sample stream with disabled all trigger forwarding (see Sample Stream)
  • Rework UDP/TCP Receiver/Sender From/To Non-ADTF Application Plugin to show best-practice device integration
  • Several improvements witin SDK, help and documentation
  • Update to ADTF File Library 0.11.0 with support for Python 3.10 and repair option for adtfdat files

Minor Fixes

Minor fixes in this version:

  • ADTF Config Tool does not clean up in read-only operations anymore
  • Increase performance and reduce memory consumption within ADTF Configuration Editor
  • Several issues which are solved by reworking the CE backend and frontend
  • For more details, please have a look at ADTF 3.17.0 Changelog

ADTF 3.17.0 Changelog

====================================================================================================
| ADTF - Changelog |
| Automotive Data and Time-Triggered Framework |
====================================================================================================
| |
| This file tracks the changes and bugfixes within ADTF 3.x |
| |
====================================================================================================
| Version: |
| ADTF 3.17.0 riddler |
====================================================================================================
CHANGES
- [#824] Integrate new license mechanism
- [#1217] Extend Property Editor to show and save values of remote connected session
- [#1559] [PoC] Advanced Docking System for CE
- [#2152] Redesign for handling several adtfsessions at once
- [#2259] Enable enter and return key confirm keyboard input
- [#2338] Provide option to open and edit included graph
- [#2339] Sessions View as treeview with included sessions
- [#2340] Support of multiple open graph files
- [#2341] Visualize open graphs in sessionview
- [#2342] Undo/Redo for multiple graph, system and session editor
- [#2343] Save dialog multiple graph, system and session editors
- [#2353] Add include session support to macro resolver
- [#2356] Rework CE-FutureView to a solution similar to QtCreator
- [#2384] Vertical TabBar as TabView replacement for Graphs
- [#2425] Streaming Services should use active runners instead of internal threads
- [#2448] Add option for automatic saving
- [#2454] Property Editor within System Editor must be resizable
- [#2455] There should be a default perspective as fallback
- [#2456] Click on tab menu header should close the menu if open
- [#2457] Property Editor view within System Editor should be read only
- [#2459] Sort sessions in alphabetical order
- [#2460] Differ between open session in current tab / new tab
- [#2484] Create PoC for Substream Line Graph Display based on adjusted Scope View from Display Toolbox
- [#2486] Remove unnecessary QtQuick.Controls 1.4 references
- [#2493] Option to manually show/hide Graph Navigator
- [#2494] Option to move Graph Navigator away from drag position
- [#2495] Reset simulation clock when required
- [#2496] Control simulation clocks in XSystem even if they are not controlled by the player
- [#2522] Hide deprecated options per default
- [#2529] Replace Remaining QtQuick1 TableViews by QtQuick 2
- [#2541] Moving Scope View as Line Graph Display to substream display project
- [#2555] Dump session information at start up as LOG_DETAIL
- [#2560] Organize and Conduct a workshop to add traceview functionality to Substream Display
- [#2562] Rename term "Scope View" to "Line Graph Display"
- [#2563] min/max values from DDL must be considered in Line Graph Display
- [#2564] Improve icons in Line Graph Display
- [#2567] Create test to measure performance of Line Graph Display
- [#2588] Testing nested arrays in Substream Display when using new DDL methods
- [#2589] Coloring green LineGraph Display icons with neutral color
- [#2599] Rework y mode (scales) in LineGraphDisplay
- [#2603] Improving signal receiving in Line Graph Display
- [#2608] PoC ADTF goes C++20
- [#2621] Repurpose auto advance button to analyze mode in Line Graph Display
- [#2646] Provide stack mode
- [#2647] Create concept and strategy for upcoming topics regarding substream display
- [#2654] Workshop for the design of a single signal storage for signal handling in Qt5 Substream Display Filter
- [#2658] Provide Sample Stream Trace View statistics as substreams
- [#2661] Provide DDL 4.2 with valid_element_count attribute for virtual dynamic arrays
- [#2675] Graph tabs name should refer to the session name
- [#2682] Giving Line Graph scales a title
- [#2683] Evaluation for Tree Data Model in Substreamdisplay
- [#2685] Remove superfluous icons in LineGraph
- [#2689] Provide a protoype to manage runtime settings within XSystem
- [#2697] Replace the TableView in the PropertyEditor by a TreeView (Evaluation)
- [#2699] Add a new sample stream with disabled all trigger forwarding
- [#2700] update automatic sample stream insertion to new default sample stream
- [#2704] Update guide to changes within CE
- [#2713] Document return values
- [#2726] Add TAI timebase support for Sync2Ref
- [#2730] Cleanup design of qtsubstreamsdk (SubstreamStream TreeModel)
- [#2735] SignalHistory of LineGraph must use the cSubstreamItemDataDelegate from the model
- [#2747] TimeStamp Synchronizer requires ADTF_LEGACY_CONNECTION_ESTABLISHMENT_ORDER
- [#2752] Document existing Configuration Editor macros
- [#2765] Adapt substream-request interface (Substream Display) against the requirements of upcoming Trace View
- [#2766] Base model for Substream Trace View Display
- [#2779] New Icons for CLI / GUI
- [#2793] Rework UDP Receiver demo example to showcase best-practice device integration
- [#2807] Change ADTF CMake macros to use CMAKE_CROSSCOMPILING_EMULATOR
- [#2808] Make new session and system editor more popular
- [#2814] Integrate adtf file library 0.11.0
- [#2821] Upload a legacy licenser package
- [#2822] Add substream request functionality to IPC integration library.
- [#2828] As a filter developer I want to process substreams with easy utilities
- [#2832] Set new icons on exetuble resources
- [#2833] Refactor cDisplayHandler handling in Substream Display Filter
- [#2835] Harmonize openssl dependency
- [#2836] Integrate adtf_licenser_for_licensehub 1.1.1
- [#2840] QML Filter Editor plugin SDK should provide a function to remove properties
- [#2843] Make debug info extraction proper for cross compilation
BUGFIXES
- [#452] Issues if project path includes whitespaces
- [#1562] Session Editor can not handle ADTF System Files that are not part of the ADTF Project File
- [#1578] Opening several projects increases memory
- [#1849] adtf_config_tool makes cleanup even in read only operations
- [#1899] Changing upper/lower case of session name actually deletes it
- [#1903] Unsaved changes dialog is centered within application instead of monitor
- [#1944] CE fast quit when moving dialog
- [#2254] Double loop of sample stream, substream selector and binding proxy connection leads to crash
- [#2474] Not displaying requesting checkbox in substream displays when triggered outside
- [#2505] error message in the background
- [#2568] Sporadic crash in Line Graph Display when drag'n'dropping signal into it
- [#2586] Array elements are not displayed in Substream Display since using new DDL methods
- [#2597] Debug assertion in CE when saving project with CTRL+S
- [#2636] Renaming input and output pins of a inserted subgraph of a included subsession will not be saved
- [#2660] Substream Display Filter crashes when changing run level from "filtergraph" to "intermediate" and back
- [#2681] Remaining uses of cFile::OM_Read without OM_SharedRead
- [#2745] Priority Editor is not displaying correct content
- [#2748] TimeStamp Synchronizer does not react to time resets
- [#2753] Substream Filter Tree View Display doesn't consider added filter after changed underlying model
- [#2754] Context menu and pop ups are shown on main window when CE is monitor right of main
- [#2763] Javascript filter does not forward samples of unknown image type
- [#2816] Graph dialog does not list all graphs
- [#2825] No StageGraphReady call from micro runlevel filtergraphconstructed or filtergraphinitialized after decrementing
- [#2830] Redeploying header2ddl changes permissions
- [#2851] Menus not working after GStreamer Plugin configuration was open