Git Product home page Git Product logo

martinmelikmerkumians / opener Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eipstackgroup/opener

0.0 2.0 0.0 15.27 MB

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.

License: Other

Shell 0.72% C 84.08% TeX 1.62% C++ 10.93% Batchfile 0.02% CMake 2.63%

opener's Introduction

Build Status

Coverity Scan Build Status

Stories in Ready Stories in In Progress Join the chat at https://gitter.im/EIPStackGroupOpENer/Lobby

OpENer Version 2.1.0

Welcome to OpENer!

OpENer is an EtherNet/IP™ stack for I/O adapter devices; supports multiple I/O and explicit connections; includes objects and services to make EtherNet/IP™- compliant products defined in THE ETHERNET/IP SPECIFICATION and published by ODVA (http://www.odva.org).

Participate!

Users and developers of OpENer can join the respective Google Groups in order to exchange experience, discuss the usage of OpENer, and to suggest new features and CIP objects, which would be useful for the community.

Developers mailing list: https://groups.google.com/forum/#!forum/eip-stack-group-opener-developers

Users mailing list: https://groups.google.com/forum/#!forum/eip-stack-group-opener-users

Requirements:

OpENer has been developed to be highly portable. The default version targets PCs with a POSIX operating system and a BSD-socket network interface. To test this version we recommend a Linux PC or Windows with Cygwin (http://www.cygwin.com) installed. You will need to have the following installed:

  • CMake
  • gcc
  • make
  • binutils

for normal building. These should be installed on most Linux installations and are part of the development packages of Cygwin.

If you want to run the unit tests you will also have to download CppUTest via https://github.com/cpputest/cpputest

For the development itself we recommend the use of Eclipse with the CDT plugin (http://www.eclipse.org).

For configuring the project we recommend the use of a CMake GUI (e.g.,the cmake-gui oackage on Linux)

Compile for POSIX:

  1. Directly in the shell:

    1. Go into the bin/posix directory

    2. For a standard configuration invoke setup_posix.sh, otherwise start cmake (GUI or shell application) and configure your project

    3. Invoke make

    4. For invoking opener type:

      ./src/ports/POSIX/OpENer interface

      e.g. ./src/ports/POSIX/OpENer eth1

  2. Within Eclipse

    1. For a standard configuration invoke setup_posix.sh, otherwise start cmake (GUI or shell application) and configure your project
    2. Import the project
    3. Go to the bin/win32 folder in the make targets view
    4. Choose all from the make targets
    5. The resulting executable will be in the directory /bin/posix or the directoy you have choosen via CMake

Compile for Windows XP/7/8:

  1. Invoke setup_windows.bat or configure via CMake

  2. Open Visual Studio solution in bin/win32

  3. For invoking opener type in command line:

     OpENer interface_index
    
     e.g. OpENer 3
    

Directory structure:

  • bin ... The resulting binaries and make files for different ports
  • doc ... Doxygen generated documentation (has to be generated for the SVN version) and Coding rules
  • data ... EDS file for the default application
  • source
    • src ... the production source code
      • cip ... the CIP layer of the stack
      • cip_objects ... additional CIP objects
      • enet_encap ... the Ethernet encapsulation layer
      • ports ... the platform specific code
      • utils ... utility functions
    • tests ... the test source code
      • enet_encap ... tests for Ethernet encapsulation layer
      • utils ... tests for utility functions

Documentation:

The documentation of the functions of OpENer is part of the source code. The source packages contain the generated documentation in the directory doc/api_doc. If you use the GIT version you will need the program Doxygen for generating the HTML documentation. You can generate the documentation by invoking doxygen from the command line in the opener main directory.

Porting OpENer:

For porting OpENer to new platforms please see the porting section in the Doxygen documentation.

Contributing to OpENer:

The easiest way is to fork the repository, then create a feature/bugfix branch. After finishing your feature/bugfix create a pull request and explain your changes. Also, please update and/or add doxygen comments to the provided code sections. Please stick to the coding conventions, as defined in source/doc/coding_rules The easiest way to conform to the indenting convertion is to set uncrustify as git filter in the OpENer repository, which can be done with the following to commands:

git config filter.uncrustify.clean "/path/to/uncrustify/uncrustify -c uncrustify.cfg --mtime --no-backup"

git config filter.uncrustify.smudge "cat"

opener's People

Contributors

archi-tekt avatar azoitl avatar gitter-badger avatar jkorbelra avatar martinmelikmerkumians avatar peda1337 avatar pogojotz avatar ralfbrandt avatar rubensolozabal avatar scottnewell avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.