-
In modbus-tcp.c: - Needed to include <signal.h> - Added Jay's fix for __OpenBSD__ - SIGPIPE ignore handler needs to return a pointer instead of an integer. Patch provided bu Barry Grumbine and Jason Oster.
-
Patch provided by Barry Brumbine.
-
Reported by Marco Sala.
-
Related to 49d6f4a71f686de64e5c28d6dd8acd2c98c5038d.
-
Page 38 in the document Modbus_Application_Protocol_V1_1b.pdf: 6.17 23 (0x17) Read/Write Multiple registers This function code performs a combination of one read operation and one write operation in a single MODBUS transaction. The write operation is performed before the read. The unit test has been updated.
-
Original patch by Jason Oster
-
Win32 uses a specific function to close socket. Reported by Petr Parýzek.
-
Reported by Ivo De Decker
-
Reported by Antti Manninen and according to Page6 in the document "MODBUS Messaging on TCP/IP Implementation Guide V1.0b", ------------------------ Unit Identifier – This field is used for intra-system routing purpose. It is typically used to communicate to a MODBUS+ or a MODBUS serial line slave through a gateway between an Ethernet TCP-IP network and a MODBUS serial line. This field is set by the MODBUS Client in the request and must be returned with the same value in the response by the server. ------------------------
-
Contributed by Dominic Storey. - new function modbus_reply_exception - unit test
-
- MODBUS_GET_INT32_FROM_INT16 - MODBUS_GET_INT16_FROM_INT8 - MODBUS_SET_INT16_TO_INT8 - check the trame length before indexing in unit-test-server
-
- new public function - change unit-test-server.c to be transport layer independant (query and header_length)
-
The goal of this rewriting is to avoid the timeouts on the receiving of exceptions and to be more robust on bad requests. Some devices use the exception MODBUS_EXCEPTION_ACKNOWLEDGE to response to some valid requests, so in this case, you'll really appreciate this change! - Slower! More system calls are used. - The code is cleaner and easier to understand. - Really faster when an exception occurs. - Fix unit test of bad request in RTU
-
- removed comment not required anymore with -Wall -Werror
-
Reported by Ivan Giuliani <giuliani.v@gmail.com> It was not possible to use libmodbus outside of projects without config.h file. The inclusion has been removed from the public header. Signed-off-by: Stéphane Raimbault <stephane.raimbault@gmail.com>
-
First, it's $host_os which should be checked, not $target (remember, 'build' is where we build, host is where the program will be run, and target is only for compiler - for which system the compiler will generate code. Second, correct OS pattern - e.g. on debian with i586-mingw32msvc-gcc, host_os is mingw32msvc, so we better for *mingw32*. Also, it's better to call AC_CANONICAL_* for normalizing variables. Build tested with `configure --host=i586-mingw32msvc` on Debian GNU/Linux 5.0 (Lenny). Cc: Александр Сёмуха <sav@mns.spb.ru> Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Stéphane Raimbault <stephane.raimbault@gmail.com>
-
These functions have no meaning in RTU so it's better to specialize the names and remove them from the backend. - remove the functions from the backend - update tests to handle RTU mode (master and slave) - add command line options to tests (rtu or tcp)
-
- check strlcpy in configure.ac - test for empty device string - test truncated device string