On this page

C

Telltales Monitor: Verifying the Rendering Output

Telltales Monitor demonstrates how to verify the rendering output of the Telltales example. Telltales Monitor is not a standalone example: always use it together with Telltales and Event Sender. On QNX, INTEGRITY, and Embedded Linux, you also need Message Proxy to forward events to the Qt Safe Renderer process on your target device.

For each safety-critical QML type in Telltales, Telltales Monitor reads the expected CRC (Cyclic Redundancy Check) value from the layout file and compares it with the actual CRC value. The Monitor prints the failed verification result either to the Qt Creator's Application Output window or standard output stream.

You can run the Telltales Monitor example both in your host environment and the target device. Additionally, output verification is supported in the OpenWFD platform adaptation.

The following sequence diagram shows the communication between Monitor, Indicators, and OpenWFD. The same logic also applies to Telltales Monitor and Telltales. When you start Telltales Monitor, it communicates with the Telltales process via the Safe Event Sender, which is platform-specific and provided by the Qt Safe Renderer runtime.

You can find Telltales Monitor, Telltales, and Message Proxy under the Qt Safe Renderer installation folder as follows:

  • Telltales Monitor - <Qt installation directory>/Examples/QtSafeRenderer-<version>/saferenderer/telltalesmonitor
  • Telltales - <Qt installation directory>/Examples/QtSafeRenderer-<version>/saferenderer/telltales
  • Message Proxy - <Qt installation directory>/Examples/QtSafeRenderer-<version>/saferenderer/messageproxy

The following topics describe how you enable output verification on Telltales, and build and run the Telltales Monitor, Telltales, and Message Proxy with Qt Creator.

Enabling Output Verification in Telltales

The image below depicts Telltales in Qt Creator.

In Qt Creator, go to the CMakeLists.txt (1) and enable the output verification feature by uncommenting the following line from the file (2):

# Enable when using monitor feature:
target_compile_definitions(telltales PRIVATE USE_OUTPUTVERIFIER)

In a qmake project, add the following definition to the Telltales.pro file to enable the output verification:

DEFINES += USE_OUTPUTVERIFIER

In general, Telltales Monitor (3) can verify the rendering output of any Qt Safe Renderer application where the output verification feature is enabled. For more information, see Using of OutputVerifier Class.

Running Telltales Monitor and Telltales on Host Platform

Open Telltales and Telltales Monitor in Qt Creator's Edit mode and select Build > Run for both examples. See Building for Host Platform for more detailed building instructions.

As you have enabled the output verification in Telltales and Telltales Monitor is also running, you can change the visibility of telltales from the Event Sender example. You can also cause a malfunction by using Event Sender where two safe icons render on top of each other. Telltales Monitor detects this as a CRC verification failure. The telltales are implemented with safety-critical QML types, and when their visibility changes, Telltales Monitor reads the expected CRC (Cyclic Redundancy Check) value from the layout file and compares it with the actual CRC value.

You can view the verification statuses in the Application Output panel in Qt Creator (4). Monitor prints the verification result only when the CRC verification fails.

Running Telltales Monitor and Telltales on Target Device

Open Telltales, Telltales Monitor, and Message Proxy in Qt Creator's Edit mode. Select Build > Run for all of them.

By default, when you run your project, Qt Creator also deploys it to the device defined in the kit and runs it there. You need to deploy Telltales Monitor, Telltales, and Message Proxy to your target device.

See the target-specific building instructions for more detailed information:

As you have enabled the output verification in Telltales and Telltales Monitor is also running, you can change the visibility of telltales from the Event Sender example. You can also cause a malfunction by using Event Sender where two safe icons render on top of each other. Telltales Monitor detects this as a CRC verification failure. The telltales are implemented with safety-critical QML types, and when their visibility changes, Telltales Monitor reads the expected CRC (Cyclic Redundancy Check) value from the layout file and compares it with the actual CRC value.

You can view the verification statuses via the standard output stream. Telltales Monitor prints the verification result only when the CRC verification fails.

Example Files

Files:

Available under certain Qt licenses.
Find out more.