-
The function name was confusing because the write operation is performed before the read. Take care to swap the arguments in the migration process.
-
Avoid incompatibility with GPLv2 program. This change has been approved by Tobias Doerffel, Florian octo Forster and Hannu Vuolasaho.
-
Thank you Ivo De Decker.
-
All related scripts and config files have been updated too.
-
The two modes are complementary, MODBUS_ERROR_RECOVERY_LINK handles errors at data link level (bad file descriptor, timeout, etc) and MODBUS_ERROR_RECOVERY_PROTOCOL checks Modbus error (eg. invalid function code or trame length). This change introduces the use of the Sleep function for Windows. Some duplicated code has been moved from backends to modbus core. A new debug message is now available when a flush occurs. The unit tests are now based on this error recovery code.
-
The change for serial on Windows is temporary. If you're interested of improving the situation for this, please have a look at the FIXME.
-
The following functions have been renamed: - modbus_get_timeout_begin -> modbus_get_response_timeout - modbus_set_timeout_begin -> modbus_set_response_timeout - modbus_get_timeout_end -> modbus_get_byte_timeout - modbus_set_timeout_end -> modbus_set_byte_timeout The meaning of these timeout intervals is now clearer. The documentation has been updated.
-
These new functions seem clearer than the recent modbus_receive_from function IHMO. This change fixes the bandwidth-server-many-up program.
-
Split the original modbus_receive function in two functions to avoid the strange -1 value to ignore the sockfd argument.
-
The loop test ought to iterate again to end the loop but this is only required if the socket contained more data than read.
-
With the previous value UT_REGISTERS_NB, the server sent two consecutives and identical responses to the client. These requests could be confusing for the human reader!