From becd6c33743e97ac91e28ccc98ff5aeec66a5faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 27 Apr 2021 09:51:09 +0200 Subject: [PATCH] Fix debug print for modbus RTU master and try to connect masters after loading them --- libnymea-core/modbus/modbusrtumanager.cpp | 14 +++++++++----- libnymea/hardware/modbus/modbusrtumaster.h | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/libnymea-core/modbus/modbusrtumanager.cpp b/libnymea-core/modbus/modbusrtumanager.cpp index 3e0c6f13..d2cdafa4 100644 --- a/libnymea-core/modbus/modbusrtumanager.cpp +++ b/libnymea-core/modbus/modbusrtumanager.cpp @@ -63,6 +63,15 @@ ModbusRtuManager::ModbusRtuManager(SerialPortMonitor *serialPortMonitor, QObject } } }); + + // Try to connect the modbus rtu masters + foreach (ModbusRtuMaster *modbusMaster, m_modbusRtuMasters.values()) { + ModbusRtuMasterImpl *modbusMasterImpl = qobject_cast(modbusMaster); + if (!modbusMasterImpl->connectDevice()) { + qCWarning(dcModbusRtu()) << "Failed to connect modbus RTU master. Could not connect to" << modbusMaster; + } + } + } SerialPortMonitor *ModbusRtuManager::serialPortMonitor() const @@ -256,11 +265,6 @@ void ModbusRtuManager::addModbusRtuMasterInternally(ModbusRtuMasterImpl *modbusR }); emit modbusRtuMasterAdded(modbusMaster); - - // Try to connect the modbus rtu master after adding the bus - if (!modbusRtuMaster->connectDevice()) { - qCWarning(dcModbusRtu()) << "Failed to connect modbus RTU master. Could not connect to" << modbusMaster; - } } } diff --git a/libnymea/hardware/modbus/modbusrtumaster.h b/libnymea/hardware/modbus/modbusrtumaster.h index 4be61031..39ba94be 100644 --- a/libnymea/hardware/modbus/modbusrtumaster.h +++ b/libnymea/hardware/modbus/modbusrtumaster.h @@ -86,8 +86,8 @@ inline QDebug operator<<(QDebug debug, ModbusRtuMaster *modbusRtuMaster) { debug.nospace() << ", " << modbusRtuMaster->dataBits(); debug.nospace() << ", " << modbusRtuMaster->stopBits(); debug.nospace() << ", " << modbusRtuMaster->parity(); - debug.nospace() << ", Retries:" << modbusRtuMaster->numberOfRetries(); - debug.nospace() << ", Timeout:" << modbusRtuMaster->numberOfRetries() << "ms)"; + debug.nospace() << ", Retries: " << modbusRtuMaster->numberOfRetries(); + debug.nospace() << ", Timeout: " << modbusRtuMaster->timeout() << "ms)"; return debug.space(); };