OpENer Versions Save

OpENer is an EtherNet/IP stack for I/O adapter devices. It supports multiple I/O and explicit connections and includes objects and services for making EtherNet/IP-compliant products as defined in the ODVA specification.

v2.3

5 years ago

Hi,

thanks to @SharifuddinAmin and @wpmccormick two things have been added since the last release. First @SharifuddinAmin found and fixed a bug in the delay time for delayed list identity messages, which resulted in no wait time in most cases. Now the behavior should be correct. Thanks!

@wpmccormick shared his CMake files for building OpENer as a shared library. This is done by setting the CMake variable BUILD_SHARED_LIBS to true. Please note, that there is no variable generated for the GUI. You have to either supply it via command line or add it by hand in the CMake config. A better documentation is now pending, but will be delivered later on.

Thanks again and please report bugs and suggest new features for OpENer!

Best regards, Martin

v2.2.1

5 years ago

Hi,

unfortunately I did miss correcting the OpENer version numbers in the EDS file and in the doxygen documentation. This release fixes this issues, otherwise it is the same as v.2.2.0

Best regards, Martin

v2.2.0

5 years ago

Hi all,

again, after almost one full year, I present a new release of OpENer. Why now? First, I achieved that OpENer can pass CT-15 recently, and also I was again able to attend ODVA's PlugFest, where a lot of additional testing is performed in addition to the CT tool. Again PlugFest was quite successfull, with OpENer passing the probably hardest test for Adapter devices, the Common and Adapter tests. Therefore I decided it is time for a new official version of OpENer.

In this new release updates OpENer to implement ODVA's April 2018 CIP and EtherNet/IP specification, enabling to create product, which are able to pass CT-15 and PlugFest tests. In addition a MinGW port was provided @jkvatne (thanks for that!), POSIX got a modification to enable RT features if a full preemptive Kernel is available.

In order to further enhance code quality, additional static code checking is now performed via SonarCloud, in addition to the tests via CppUTest, Travis CI, and Coverity Scan.

Also several bugs were fixed, over the year and especially via PlugFest testing, also with the help of the community, which reported several bugs and also provided some bug fixes for OpENer.

I hope you find the new OpENer version useful. Please keep reporting errors and bugs!

Best regards, Martin

v2.1.0

6 years ago

OpENer 2.1 - Implements EtherNet/IP April 2017 specification

This release is the first release version, since I (Martin) took over the development of OpENer in 2013, and since the old home of OpENer on Source Forge was taken down.

It is the first time since then, that I deem some major development done. We, the OpENer team, worked a lot to provide an open source implementation of EtherNet/IP, which in its current state can pass the conformance test tool CT-14 and even can pass the Common and Adapter test on the ODVA PlugFest last December in Marktheidenfeld. In this last 5 years (or 476 commits later) we provided a lot of new features and improvements, which of course mainly targeted to provide a working state of the art stack for EtherNet/IP, but we also tried to improve code quality and accessibility for the users of OpENer.

Just to name a few of this improvments, we switched to the CMake for cross-platform build, updated and fixed and Windows version, added unit tests via CppUTest, fixed several programming and/or compliance errors in the Ethernet Encapsulation protocol, Connection Manager, TCP/IP, Identity and several more object.

A new coding style was implemented and large functions were split into smaller pieces to improve readability of the code and hopefully makes the intention of the code sections now clearer (at least it is now much clearer to me). In the spirit of continous delivery we use TravisCI to automatically build and test the current version of OpENer and we automatically generate the current version of our doxygen documentation and deploy it at http://eipstackgroup.github.io/OpENer/ Our latest addition was the use of Scan Coverity in order to further increase code quality via rigid static code analysis.

Major project in the pursuit to provide a version, which is capable to pass the conformance test tool, were the integration of the correct socket timeout behavior, a fixed and updated Forward Open and Forward Close service, the fix for socket leaks, and last but not least a almost complete rewrite of the Connection Object in order to cope with the required timeout behavior of Class 1 and Class 3 connections.

This would not have been possible without the OpENer team and the OpENer community, which provided bug reports and fixes several times. Thank you all for your efforts!

So to round up the features of this release:

  • OpENer implements the EtherNet/IP April 2017 specification
  • Device parameters (device name, vendor/device/product ID) are now configurable via CMake
  • OpENer now only needs the ethernet interface name in Linux or the interface index in Windows to populate the information for the TCP/IP object
  • Updated stc and eds files are provided

Best regards, The OpENer team

v1.2.0

10 years ago

This release adds support for a delayed broadcast list identity response. It reworks network handling, resulting not only in clearer code but also in better performance. Assembly objects accept only the correct amount of data. An issue when input only should overtake a closed exclusive owner connection has been fixed. The EDS file has been updated to meet minimum requirements. Issues in produced point to point setup and in the address data encapsulation on big endian platforms have been fixed.