C

Qt Quick Ultralite application with safety-critical items

This topic provides instructions on how to create a Qt Quick Ultralite application with safety-critical items.

Note: Qt Safe Renderer is currently in Technical Preview status for Qt Quick Ultralite. A full Qt Safe Renderer support for Qt Quick Ultralite comes in the QSR 2.2 release.

Functional safety

The objective of functional safety is to avoid an unacceptable risk of injury or damage to the health of people.

  • In the automotive industry, it is essential that safety-critical information in the digital displays is rendered correctly.
  • In the medical industry, nurses, doctors, and technicians use safety-critical medical devices that must be safe to use.
  • In the automation industry, there is a need for well-placed, prominent error indicators.

For more information about functional safety, see the Qt Safe Renderer documentation.

Safety-critical QML items

The Qt Quick Ultralite Safe Renderer QML module provides safety-critical QML items whose integrity can be monitored using Qt Safe Renderer's output verification. This involves verifying that the visual output matches what is expected.

Creating an application with safety-critical QML items

  1. Add a Safe Renderer QML module to your project
  2. Set a fixed size for the application root element, for example:
    Rectangle {
        width: 480
        height: 272
        // ...
    }

    The Qt Safe Layout Tool requires this for the item offset calculation.

  3. Add the Safe Renderer QML items to the QML application:
    SafePicture {
        id: handbrake
        objectName: "handbrake"
        source: "images/iso_grs_7000_4_0238.dat"
        color: "#e41e25"
        fillColor: "#000000"
        width: 30
        height: 30
    }

    Set objectName and a fixed width and height for each safe item. Set fillColor to fully opaque for items whose integrity will be monitored with Qt Safe Renderer's output verification.

    Note: An invisible safe item appears as a visible rectangle with the color of fillColor.

    Note: The parent items of a safe item will appear normally even when they are set to be invisible.

    Note: Safe items do not support rotation.

    Note: Safe items support RGB332, RGB565, RGB888, and ARGB8888 as framebuffer formats.

    Note: Safe item resources are automatically generated and added to the resource system.

  4. Add the Qt Safe Renderer Tools to the QSR_TOOLS_DIR environment variable:
    setx QSR_TOOLS_DIR "C:\Qt\Tools\QSR-2.2.0\bin"
  5. Ensure that the correct CRC algorithm is set to the BoardDefaults.qmlprojectconfig:
    MCU.Config {
        safeRendererCrcAlgorithm: "<algorithm>"
    }

    Refer to the board-specific documentation for the correct CRC algorithm.

Monitoring the UI elements

Monitoring the integrity of the UI elements is done with the Qt Safe Renderer's output verification library that runs parallel with the Qt Quick Ultralite.

Note: Monitoring supports RGB565, RGB888, and ARGB8888 as framebuffer formats.

Reference project for a safety-critical application

For more information and a reference AUTOSAR project for the Renesas RH850-D1M1A platform, contact the Qt Company.

Available under certain Qt licenses.
Find out more.