diff options
author | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2016-06-02 22:00:57 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2016-06-03 14:51:42 +0000 |
commit | e704a83b4a1a1eb69b62ee2cb029c549d99959ed (patch) | |
tree | 659532582a03f43ef6ae9741ccb0b302ae6c7189 /src/serialbus/qmodbusrtuserialmaster_p.h | |
parent | f9201ca7bad9220149fb39b89914e83a4a14dffc (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 calculateInterFrameDelay().
Task-number: QTBUG-53767
Change-Id: I15fdd42990f1211ab0133b557c5b0ffd625038c1
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'src/serialbus/qmodbusrtuserialmaster_p.h')
-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 801072f..e7e9a92 100644 --- a/src/serialbus/qmodbusrtuserialmaster_p.h +++ b/src/serialbus/qmodbusrtuserialmaster_p.h @@ -291,9 +291,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_interFrameDelayMilliseconds); 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 |