Inform about failed reachable verification

pull/75/head
Simon Stürz 2022-08-01 15:15:40 +02:00
parent c1d190c036
commit a58c5736b1
3 changed files with 14 additions and 2 deletions

View File

@ -282,17 +282,22 @@ def writeTestReachabilityImplementationsRtu(fileDescriptor, className, registerD
writeLine(fileDescriptor, ' m_testRechableReply = read%s();' % (propertyName[0].upper() + propertyName[1:]))
writeLine(fileDescriptor, ' if (!m_testRechableReply) {')
writeLine(fileDescriptor, ' qCDebug(dc%s()) << "Error occurred verifying reachability by reading \\"%s\\" register";' % (className, checkReachableRegister['description']))
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor, ' return;')
writeLine(fileDescriptor, ' }')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' if (m_testRechableReply->isFinished()) {')
writeLine(fileDescriptor, ' m_testRechableReply = nullptr;')
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor, ' return;')
writeLine(fileDescriptor, ' }')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' connect(m_testRechableReply, &ModbusRtuReply::finished, this, [this, m_testRechableReply](){')
writeLine(fileDescriptor, ' connect(m_testRechableReply, &ModbusRtuReply::finished, this, [this](){')
writeLine(fileDescriptor, ' // Note: we don\'t care about the result here, only the error')
writeLine(fileDescriptor, ' handleModbusError(m_testRechableReply->error());')
writeLine(fileDescriptor, ' if (m_testRechableReply->error() != ModbusRtuReply::NoError)')
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' m_testRechableReply = nullptr;')
writeLine(fileDescriptor, ' });')
writeLine(fileDescriptor)

View File

@ -284,18 +284,22 @@ def writeTestReachabilityImplementationsTcp(fileDescriptor, className, registerD
writeLine(fileDescriptor, ' m_testRechableReply = read%s();' % (propertyName[0].upper() + propertyName[1:]))
writeLine(fileDescriptor, ' if (!m_testRechableReply) {')
writeLine(fileDescriptor, ' qCDebug(dc%s()) << "Error occurred verifying reachability by reading \\"%s\\" register";' % (className, checkReachableRegister['description']))
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor, ' return;')
writeLine(fileDescriptor, ' }')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' if (m_testRechableReply->isFinished()) {')
writeLine(fileDescriptor, ' m_testRechableReply->deleteLater(); // Broadcast reply returns immediatly')
writeLine(fileDescriptor, ' m_testRechableReply = nullptr;')
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor, ' return;')
writeLine(fileDescriptor, ' }')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' connect(m_testRechableReply, &QModbusReply::finished, this, [this](){')
writeLine(fileDescriptor, ' // Note: we don\'t care about the result here, only the error')
writeLine(fileDescriptor, ' handleModbusError(m_testRechableReply->error());')
writeLine(fileDescriptor, ' if (m_testRechableReply->error() != QModbusDevice::NoError)')
writeLine(fileDescriptor, ' emit checkReachabilityFailed();')
writeLine(fileDescriptor)
writeLine(fileDescriptor, ' m_testRechableReply->deleteLater();')
writeLine(fileDescriptor, ' m_testRechableReply = nullptr;')
writeLine(fileDescriptor, ' });')

View File

@ -107,12 +107,14 @@ def writeTcpHeaderFile():
# Write registers value changed signals
writeLine(headerFile, 'signals:')
writeLine(headerFile, ' void reachableChanged(bool reachable);')
writeLine(headerFile, ' void checkReachabilityFailed();')
writeLine(headerFile)
writeLine(headerFile, ' void initializationFinished(bool success);')
writeLine(headerFile, ' void updateFinished();')
writeLine(headerFile)
writeLine(headerFile, ' void endiannessChanged(ModbusDataUtils::ByteOrder endianness);')
writeLine(headerFile)
writePropertyChangedSignals(headerFile, registerJson['registers'])
writeLine(headerFile)
if 'blocks' in registerJson:
@ -427,6 +429,7 @@ def writeRtuHeaderFile():
# Write registers value changed signals
writeLine(headerFile, 'signals:')
writeLine(headerFile, ' void reachableChanged(bool reachable);')
writeLine(headerFile, ' void checkReachabilityFailed();')
writeLine(headerFile)
writeLine(headerFile, ' void initializationFinished(bool success);')
writeLine(headerFile, ' void updateFinished();')