News

libmodbus v3.0.2

February 6, 2012

Yet another stable release with minor fixes. libmodbus 3.0.2 (2012-01-16) Update Debian package. Documentation fixes and additions. Add missing C++ macros in public headers. Thanks to Bernhard Agthe. Protects modbus_mapping_free against NULL argument. Thanks to Andrea Mattia. Fix check on file doc/libmodbus.7 in acinclude.m4 (closes #28) Close file descriptor when the settings don’t apply in RTU. Original patch provided by Thomas Stalder. unit-test.h is now generated to avoid config.h dependency. ... Read more …

Tags: release

libmodbus v3.0.1 to avoid big 0 problems!

July 22, 2011

A dot zero isn’t a dot zero without few problems, so I’ve released libmodbus v3.0.1 to fix problems with non-recent Linux kernels and other platforms. libmodbus 3.0.1 (2011-07-18) Avoid useless serial_mode integer when TIOCSRS485 isn’t supported Fix compilation failure on Windows (RS485 support) by Tobias Doerffel Properly check TIOCSRS485 define by Matthijs Kool Rename package to libmodbus5 to fix lintian warning.

Tags: release

Magic libmodbus v3.0.0 is out

July 12, 2011

OK, the new stable release of libmodbus is finally out! Two years after libmodbus v2.0.3 and 400 commits, I’m happy to release this new version which contains many changes to improve the API and enhance the Modbus protocol conformity. The major features of this release are: more coherent and extended API POSIX error return codes full documentation of the API IPv6 support new backend design support for Windows, MacOS X and FreeBSD rewriting of the message reading to avoid timeout native serial communication on Windows Thanks to the many contributors ... Read more …

Tags: release

libmodbus v2.9.4 is out!

June 5, 2011

This minor release contains many new features with IPv6 support, documentation (man and HTML), error recovery modes and small API changes. I’m intend to release the version 3.0 so I need feeback from this release even more if you use libmodbus on Windows or MacOS X (check nanosleep support for example). It’s easy to test the library, just compile and run the unit tests! Don’t forget to notify your success or failure (by mail, wiki or bug report), see the Call for Testers page or the mailing list for details. ... Read more …

Tags: release

Not compliant device can be time consuming!

April 27, 2011

Travis Atkinson of Com-Pac Filtration and me have worked together to find out why the HMI of Weintek Labs I-Series, with Ethernet, answered only to request sent by the modpoll program (proprietary software). After many emails and the help of Wireshark, we have discovered modpoll uses the unit identifier as slave ID for TCP requests, according to the Modbus specs that’s incorrect (cf page 23 of Modbus Messaging Implementation Guide v1. ... Read more …

Tags: compliance gnomefr

libmodbus for Arduino (almost!)

April 14, 2011

The libmodbus project is a real success on many platforms and to conquer the world, I’ve written a version dedicated to Arduino devices. My goals are: to talk with a standard Arduino UNO or Duemilanove via the integrated USB serial line (8N1) to have the lowest footprint (binary sketch size and SRAM) to be robust OK, you’re right, other projects exist already: Master/slave by jpmzometa and others is great but the reading in loop doesn’t handle serial latency and the code contains too many arrays IMHO ModbusMaster is a master and I want a slave. ... Read more …

Tags: libmodbus arduino

The libmodbus documentation has landed

March 25, 2011

You’ve been numerous to ask for documentation and the work of gass with GTK-doc help me to prioritize it, so this month I’ve finally tackled this problem but not as expected! At first, I loved the GTK-doc solution, I’m a GNOME lover after all, but GTK-doc can’t generate man pages and the setup code is too cumbersome IMHO. To choose the best solution for libmodbus, I read a comparison matrix on Wikipedia, after some tests with GTK-doc, Doxygen and AsciiDoc, and I finally choose AsciiDoc. ... Read more …

Tags: libmodbus gnome

libmodbus v2.9.3 is out!

January 17, 2011

During this development cycle, I’ve received more feedback than for any other releases. That’s really cool, thank you! With this new release, you can consider to migrate from the previous 2.0.x series for your applications. libmodbus v2.9.3 (2011-01-14) Major rewriting of the message reading (no more timeouts on exception) New function to reply to an indication with an exception message modbus_reply_exception() New function modbus_get_header_length(modbus_t *ctx) New functions to manipulate data: MODBUS_GET_INT32_FROM_INT16 MODBUS_GET_INT16_FROM_INT8 MODBUS_SET_INT16_TO_INT8 Fix #2. ... Read more …

Tags: release

New libmodbus 2.9.2 with win32 support and backends

December 5, 2010

OK, I don’t care about Windows but I’m happy libmodbus offers a bit of Open Source to this platform so thank you to Tobias Doerffel for this contribution. The other major change is the use of an internal backend to isolate the transport layers (only serial RTU and TCP/IPv4 for now). libmodbus 2.9.2 (2010-12-05) Fix segfault in bandwidth-server-many-up on inet_ntoa() call Fix unit test of report slave ID in RTU Fix GH-3. ... Read more …

Tags: release

libmodbus 1.2.2 is out!

January 2, 2008

libmodbus is an old project but I never wrote a post about it, 2008 is the right year! I recently released 2 new versions to include some bug fixes: libmodbus 1.2.2 (2007-11-12) Fix #161989 (Konstantinos Togias) Serial device paths more than 10 chars long (eg. /dev/ttyUSB0) don’t fit to modbus_param_t -> device char[11] var. Structure is also bit better ‘packed’ to conserve memory (see the trunk for a real enhancement). ... Read more …