diff options
author | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-11-13 11:34:33 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-11-13 11:45:25 +0000 |
commit | 0f9552d8f0eabb6d74a938935283bda469fbd273 (patch) | |
tree | 1723849fbcabbda9d9eb04e1e83e4c55ae91c78e | |
parent | 3a40a330f5a9ed5e8870ff64b5cb2682c03a467d (diff) |
Synchronize debug output.
Change-Id: Ie209a99d08ef4f5b8af0c96d86d5dc24c8301680
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r-- | src/serialbus/qmodbusrtuserialmaster_p.h | 22 | ||||
-rw-r--r-- | src/serialbus/qmodbusrtuserialslave_p.h | 12 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/serialbus/qmodbusrtuserialmaster_p.h b/src/serialbus/qmodbusrtuserialmaster_p.h index 41fd532..7affc6a 100644 --- a/src/serialbus/qmodbusrtuserialmaster_p.h +++ b/src/serialbus/qmodbusrtuserialmaster_p.h @@ -84,6 +84,7 @@ public: QObject::connect(m_serialPort, &QSerialPort::readyRead, [this]() { responseBuffer += m_serialPort->read(m_serialPort->bytesAvailable()); + qCDebug(QT_MODBUS_LOW) << "Response buffer:" << responseBuffer.toHex(); if (responseBuffer.size() < 2) { qCDebug(QT_MODBUS) << "Modbus ADU not complete"; @@ -96,15 +97,15 @@ public: tmpPdu.data()); if (pduSizeWithoutFcode < 0) { // wait for more data - qCDebug(QT_MODBUS) << "Cannot calculate PDU size for fcode, delaying pending frame" - << tmpPdu.functionCode(); + qCDebug(QT_MODBUS) << "Cannot calculate PDU size for function code:" + << tmpPdu.functionCode() << " , delaying pending frame"; return; } // slave address byte + function code byte + PDU size + 2 bytes CRC const int aduSize = 2 + pduSizeWithoutFcode + 2; if (tmpAdu.rawSize() < aduSize) { - qCDebug(QT_MODBUS) << "ADU too short, ignoring pending frame"; + qCDebug(QT_MODBUS) << "Incomplete ADU received, ignoring"; return; } @@ -113,22 +114,21 @@ public: stopResponseTimer(); - qCDebug(QT_MODBUS)<< "Received response (incl ADU)" << adu.data().toHex(); + qCDebug(QT_MODBUS)<< "Received ADU:" << adu.rawData().toHex(); if (QT_MODBUS().isDebugEnabled() && !responseBuffer.isEmpty()) qCDebug(QT_MODBUS_LOW) << "Pending buffer:" << responseBuffer.toHex(); // check CRC if (!adu.matchingChecksum()) { - qCWarning(QT_MODBUS) << "Discarding request with wrong CRC, received:" - << adu.checksum<quint16>() << "got:" + qCWarning(QT_MODBUS) << "Discarding response with wrong CRC, received:" + << adu.checksum<quint16>() << ", calculated CRC:" << QModbusSerialAdu::calculateCRC(adu.data(), adu.size()); return; } const QModbusResponse response = adu.pdu(); if (!canMatchRequestAndResponse(response, adu.slaveAddress())) { - qCWarning(QT_MODBUS) << "Cannot match response with open request. " - "Ignoring response."; + qCWarning(QT_MODBUS) << "Cannot match response with open request, ignoring"; return; } @@ -165,14 +165,12 @@ public: request); int writtenBytes = m_serialPort->write(adu); if (writtenBytes == -1 || writtenBytes < adu.size()) { - qCDebug(QT_MODBUS) << "Cannot write request to serial port. Failed ADU" - << adu; + qCDebug(QT_MODBUS) << "Cannot write request to serial port. Failed ADU" << adu; q->setError(QModbusRtuSerialMaster::tr("Could not write request to serial bus"), QModbusDevice::WriteError); return false; - } else { - qCDebug(QT_MODBUS)<< "Sent request (incl ADU)" << adu.toHex(); } + qCDebug(QT_MODBUS)<< "Sent ADU:" << adu.toHex(); return true; diff --git a/src/serialbus/qmodbusrtuserialslave_p.h b/src/serialbus/qmodbusrtuserialslave_p.h index 81e5404..d963831 100644 --- a/src/serialbus/qmodbusrtuserialslave_p.h +++ b/src/serialbus/qmodbusrtuserialslave_p.h @@ -89,7 +89,7 @@ public: const int size = m_serialPort->size(); const QModbusSerialAdu adu(QModbusSerialAdu::Rtu, m_serialPort->read(size)); - qCDebug(QT_MODBUS_LOW) << "Received buffer (incl ADU):" << adu.rawData().toHex(); + qCDebug(QT_MODBUS_LOW) << "Received ADU:" << adu.rawData().toHex(); // Index -> description // SlaveId -> 1 byte @@ -103,7 +103,7 @@ public: // We expect at least the slave address, function code and CRC. if (adu.size() < 4) { // TODO: LRC should be 3 bytes. - qCWarning(QT_MODBUS) << "Invalid Modbus PDU received"; + qCWarning(QT_MODBUS) << "Incomplete ADU received, ignoring"; // The quantity of CRC errors encountered by the remote device since its last // restart, clear counters operation, or power–up. In case of a message @@ -136,7 +136,9 @@ public: } if (!adu.matchingChecksum()) { - qCWarning(QT_MODBUS) << "Ignoring request with wrong CRC"; + qCWarning(QT_MODBUS) << "Discarding request with wrong CRC, received:" + << adu.checksum<quint16>() << ", calculated CRC:" + << QModbusSerialAdu::calculateCRC(adu.data(), adu.size()); // The quantity of CRC errors encountered by the remote device since its last // restart, clear counters operation, or power–up. incrementCounter(QModbusServerPrivate::Counter::BusCommunicationError); @@ -165,7 +167,7 @@ public: incrementCounter(QModbusServerPrivate::Counter::ServerMessage); storeModbusCommEvent(event); // store the final event before processing - qCDebug(QT_MODBUS) << "Request PDU" << req; + qCDebug(QT_MODBUS) << "Request PDU:" << req; const QModbusResponse response = q->processRequest(req); event = QModbusCommEvent::SentEvent; // reset event after processing @@ -186,7 +188,7 @@ public: const QByteArray result = QModbusSerialAdu::create(QModbusSerialAdu::Rtu, q->slaveAddress(), response); - qCDebug(QT_MODBUS_LOW) << "Sending response (incl ADU):" << result.toHex(); + qCDebug(QT_MODBUS_LOW) << "Response ADU:" << result.toHex(); if (!m_serialPort->isOpen()) { qCDebug(QT_MODBUS) << "Requesting serial port has closed."; |