summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@theqtcompany.com>2016-06-03 15:15:14 +0200
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2016-06-03 14:51:37 +0000
commit40be986e18f244126f934c3bb0351ecb062a2060 (patch)
tree691cc338c2fb34888021aaf8476c087330e0526e
parenta2be52c18a51159063798abee44f35e40530f0ce (diff)
Fix Modbus timeout on Windows.
Use a properly set or calculated value, do not sporadically calculate it inside a sending function. The only place the caluculation shall happen is in setupEnvironment(). Task-number: QTBUG-53767 Change-Id: Id40fd3406bee404b9d44c8ad43a5160622eda2de Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r--src/serialbus/qmodbusrtuserialmaster_p.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/serialbus/qmodbusrtuserialmaster_p.h b/src/serialbus/qmodbusrtuserialmaster_p.h
index 66e693e..105e4a0 100644
--- a/src/serialbus/qmodbusrtuserialmaster_p.h
+++ b/src/serialbus/qmodbusrtuserialmaster_p.h
@@ -282,9 +282,7 @@ public:
m_current.bytesWritten = 0;
m_current.numberOfRetries--;
m_serialPort->write(m_current.adu);
- // Example: 9600 baud, 11 bit per packet -> 872 char/sec
- // so: 1000 ms / 872 char = 1.147 ms/char * 3.5 character
- m_sendTimer.start((1000. / (qreal(m_baudRate) / 11.)) * m_current.adu.size());
+ m_sendTimer.start(m_timeoutThreeDotFiveMs);
qCDebug(QT_MODBUS) << "(RTU client) Sent Serial PDU:" << m_current.requestPdu;
qCDebug(QT_MODBUS_LOW).noquote() << "(RTU client) Sent Serial ADU: 0x" + m_current.adu