summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-13 11:34:33 +0100
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-13 11:45:25 +0000
commit0f9552d8f0eabb6d74a938935283bda469fbd273 (patch)
tree1723849fbcabbda9d9eb04e1e83e4c55ae91c78e
parent3a40a330f5a9ed5e8870ff64b5cb2682c03a467d (diff)
Synchronize debug output.
Change-Id: Ie209a99d08ef4f5b8af0c96d86d5dc24c8301680 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r--src/serialbus/qmodbusrtuserialmaster_p.h22
-rw-r--r--src/serialbus/qmodbusrtuserialslave_p.h12
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.";