
Model RealTime 12.1.7 is now available for download. Let's look at some of the highlights in this release.
When using Visual Studio Code, or a similar IDE, together with Clangd to work with TargetRTS source files, you first need to generate the compile_commands.json compilation database. This enables Clangd to resolve all include paths and provide features such as code navigation, content assist, and hover tooltips.
To simplify this step, a new generate-compile-commands.js Node.js script is available in the TargetRTS folder, making it easy to generate the compilation database for a chosen target configuration.

The new TargetRTS configuration setting RTTRACER_FLUSH_COUNT controls how often the trace file is flushed while tracing is active. The value specifies how many lines are written before a flush occurs. By default, it is set to 1, meaning the trace file is flushed after every line. This helps ensure that no trace events are missed if the application is forcibly terminated.
Because frequent flushing can impact performance, you can increase the value to reduce the number of flush operations. Setting it to 0 disables forced flushing and only flushes when the underlying buffer is full, but trace events written since the last flush may be lost if the application terminates.
The RTMain class now provides the registerDebugErrorFunction() function for registering a custom debug error function. Once registered, the function is called whenever RTDebugger::trace() writes an error message to stderr.
This allows applications to capture and report those error messages in a custom way, such as writing them to a log file.

Sonia Mathew
UA Engineer for IBM Model RealTime