diff options
author | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2016-06-03 15:15:14 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2016-06-03 14:51:37 +0000 |
commit | 40be986e18f244126f934c3bb0351ecb062a2060 (patch) | |
tree | 691cc338c2fb34888021aaf8476c087330e0526e | |
parent | a2be52c18a51159063798abee44f35e40530f0ce (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.h | 4 |
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 |