Qt Serial Bus

The Qt Serial Bus API provides classes and functions to access the various industrial serial buses and protocols, such as CAN, ModBus, and others.

Getting Started

To include the definitions of the module's classes and functions, use the following directive:

#include <QtSerialBus>

To use the module with CMake, use the find_package() command to locate the needed module components in the Qt6 package:

find_package(Qt6 COMPONENTS SerialBus REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)

To use the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

QT += serialbus

Supported Buses and Protocols

API Reference

These are links to the API reference materials.

Logging Categories

The QtSerialBus module exports the following logging categories:

Logging CategoryDescription
qt.canbusEnables standard logging inside the Qt CAN Bus classes
qt.canbus.pluginsEnables low level logging inside the Qt CAN Bus plugin classes. To set logging for a specific plugin, use "qt.canbus.plugins.pluginname". e.g. "qt.canbus.plugins.socketcan". "qt.canbus.plugins*" affects all plugins.
qt.modbusEnables standard logging inside the Qt Modbus classes
qt.modbus.lowlevelEnables low level logging including individual packet content inside the Qt Modbus classes

Logging categories can be used to enable additional warning and debug output for QtSerialBus. More detailed information about logging can be found in QLoggingCategory.

A quick way to enable all Qt Modbus logging is to add the following line to the main() function:

QLoggingCategory::setFilterRules(QStringLiteral("qt.modbus* = true"));


Module Evolution

Changes to Qt SerialBus lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.