diff --git a/libnymea-core/hardware/modbus/modbusrtumasterimpl.cpp b/libnymea-core/hardware/modbus/modbusrtumasterimpl.cpp index 356f0d87..3a4922fe 100644 --- a/libnymea-core/hardware/modbus/modbusrtumasterimpl.cpp +++ b/libnymea-core/hardware/modbus/modbusrtumasterimpl.cpp @@ -54,7 +54,12 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString m_timeout(timeout) { #ifdef WITH_QTSERIALBUS + +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + m_modbus = new QModbusRtuSerialClient(this); +#else m_modbus = new QModbusRtuSerialMaster(this); +#endif m_modbus->setConnectionParameter(QModbusDevice::SerialPortNameParameter, m_serialPort); m_modbus->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, m_baudrate); m_modbus->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, m_dataBits); @@ -63,7 +68,11 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString m_modbus->setNumberOfRetries(m_numberOfRetries); m_modbus->setTimeout(m_timeout); - connect(m_modbus, &QModbusTcpClient::stateChanged, this, [=](QModbusDevice::State state){ +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + connect(m_modbus, &QModbusRtuSerialClient::stateChanged, this, [=](QModbusDevice::State state){ +#else + connect(m_modbus, &QModbusRtuSerialMaster::stateChanged, this, [=](QModbusDevice::State state){ +#endif qCDebug(dcModbusRtu()) << "Connection state changed" << m_modbusUuid.toString() << m_serialPort << state; if (state == QModbusDevice::ConnectedState) { if (m_connected != true) { @@ -78,7 +87,11 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString } }); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + connect(m_modbus, &QModbusRtuSerialClient::errorOccurred, this, [=](QModbusDevice::Error error){ +#else connect(m_modbus, &QModbusRtuSerialMaster::errorOccurred, this, [=](QModbusDevice::Error error){ +#endif qCWarning(dcModbusRtu()) << "Error occurred for modbus RTU master" << m_modbusUuid.toString() << m_serialPort << error << m_modbus->errorString(); if (error != QModbusDevice::NoError) { disconnectDevice(); diff --git a/libnymea-core/hardware/modbus/modbusrtumasterimpl.h b/libnymea-core/hardware/modbus/modbusrtumasterimpl.h index 559b4fb9..dc09deea 100644 --- a/libnymea-core/hardware/modbus/modbusrtumasterimpl.h +++ b/libnymea-core/hardware/modbus/modbusrtumasterimpl.h @@ -93,9 +93,15 @@ private: bool m_connected = false; #ifdef WITH_QTSERIALBUS + +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QModbusRtuSerialClient *m_modbus = nullptr; +#else QModbusRtuSerialMaster *m_modbus = nullptr; #endif +#endif // WITH_QTSERIALBUS + QString m_serialPort; qint32 m_baudrate; QSerialPort::Parity m_parity; diff --git a/libnymea-core/libnymea-core.pro b/libnymea-core/libnymea-core.pro index e1c9dc9a..dd951c14 100644 --- a/libnymea-core/libnymea-core.pro +++ b/libnymea-core/libnymea-core.pro @@ -21,14 +21,14 @@ packagesExist(systemd) { greaterThan(QT_MAJOR_VERSION, 5) { qtHaveModule(serialbus) { message("Building with QtSerialBus support.") - QT *= serialbus + QT += serialbus DEFINES += WITH_QTSERIALBUS } else { message("QtSerialBus package not found. Building without QtSerialBus support.") } # Separate module in Qt6 - QT *= concurrent + QT += concurrent } else { packagesExist(Qt5SerialBus) { message("Building with QtSerialBus support.") diff --git a/server/server.pro b/server/server.pro index 08ba9f7a..3fdeb7ee 100644 --- a/server/server.pro +++ b/server/server.pro @@ -11,9 +11,9 @@ INSTALLS += target QT += sql websockets bluetooth dbus network greaterThan(QT_MAJOR_VERSION, 5) { - QT *= core5compat + QT += core5compat } else { - QT *= xml + QT += xml } CONFIG += link_pkgconfig diff --git a/tests/auto/mqttbroker/mqttbroker.pro b/tests/auto/mqttbroker/mqttbroker.pro index 5e19f1eb..b57cdc29 100644 --- a/tests/auto/mqttbroker/mqttbroker.pro +++ b/tests/auto/mqttbroker/mqttbroker.pro @@ -2,9 +2,9 @@ include(../../../nymea.pri) include(../autotests.pri) greaterThan(QT_MAJOR_VERSION, 5) { - QT *= core5compat + QT += core5compat } else { - QT *= xml + QT += xml } PKGCONFIG += nymea-mqtt diff --git a/tests/auto/webserver/webserver.pro b/tests/auto/webserver/webserver.pro index 85c57a2b..8f40ebc1 100644 --- a/tests/auto/webserver/webserver.pro +++ b/tests/auto/webserver/webserver.pro @@ -2,9 +2,9 @@ include(../../../nymea.pri) include(../autotests.pri) greaterThan(QT_MAJOR_VERSION, 5) { - QT *= core5compat + QT += core5compat } else { - QT *= xml + QT += xml } diff --git a/tests/testlib/testlib.pro b/tests/testlib/testlib.pro index bae6cc8b..4d5b0180 100644 --- a/tests/testlib/testlib.pro +++ b/tests/testlib/testlib.pro @@ -11,14 +11,14 @@ PKGCONFIG += nymea-zigbee greaterThan(QT_MAJOR_VERSION, 5) { qtHaveModule(serialbus) { message("Building with QtSerialBus support.") - QT *= serialbus + QT += serialbus DEFINES += WITH_QTSERIALBUS } else { message("QtSerialBus package not found. Building without QtSerialBus support.") } # Separate module in Qt6 - QT *= concurrent + QT += concurrent } else { packagesExist(Qt5SerialBus) { message("Building with QtSerialBus support.")