-
- 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>
-
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
-
modbus_set_slave must be used to set the slave ID of the remote device to talk in master mode and to set the internal slave ID in slave mode. If you talk to several devices, you need to call modbus_set_slave each time the following requests must be sent to another device.
-
- move termios header in RTU backend - move TCP headers in TCP backend - use native serial on Win32 for Cygwin - avoid too many defines
-
Added support for native Win32 based on https://code.launchpad.net/~thepyper/libmodbus/win32-native This mainly affects the RTU implementation as the TCP/IP socket interface is the same thanks to the winsocks library. The interface for using the serial port is completely different on Win32 and is now implemented accordingly. Signed-off-by: Stéphane Raimbault <stephane.raimbault@gmail.com>
-
All private functions and constants are now prefixed by _. The modbus protocol uses entry points to call specific functions.
-
- return only useful data client side - available in TCP when a gateway to RTU is used - need to add isolated handling of indication/confirmation messages
-
- more coherent - namespace - opaque and smaller context - usual wording
-
A new API will be committed to remove the slave in TCP communication.
-
Original patch by Sisyph (eric-paul).
-
The ID used at init time will be the device ID of the caller and the server ID in request functions is the target to reach.
-
The library is now simpler to include (only one <modbus.h>) To avoid confusion MB_VERSION defines have been renamed to LIBMODBUS_VERSION.
-
This reverts commit df0cf7927249954f15e0aa85b02d21b990fa9af9. Use <modbus.h> in tests.
-
- returns -1 on error and set errno - error recovery system was flawed - error recovery disabled by default - remove a malloc
-
Inspired by the Clutter project and work done by Florian Forster.
-
This time the change is definitive :)
-
I don't want to put a burden on build system support anymore
-
- the return value is used to pass the message length - remove the hack on exception check in modbus receive - update tests