Go to file
Michael Egli ff448e3485 Fix some UB cases. Closes #546
There are two cases of UB that are fixed in this commit.

1. In ethercatmain.c, there are two left shifts of 31:

    (1 << 31)

Because 1 is a signed int by default, the result cannot be represented
in an int. The fix is to explicitly make the 1 unsigned.

2. In ethercatconfig.c, for slaves that have no inputs, the code would
   apply an offset to a NULL pointer. The fix is to test that the slave
   has inputs available before applying the offset.

Both cases were found by clang with the help of UBSan.
2021-08-31 13:02:10 +02:00
.github/workflows Migrate to Github Actions 2021-02-17 13:53:41 +01:00
cmake Integrate SOEM with RTEMS 2018-01-23 17:07:59 +01:00
doc Add simple_ng test program 2021-04-10 16:49:17 +02:00
osal Fix linux osal timers and osal_current_time 2021-04-07 12:11:29 +03:00
oshw Fix llvm compiler implicit-int-conversion warnings 2020-10-12 16:24:42 +02:00
soem Fix some UB cases. Closes #546 2021-08-31 13:02:10 +02:00
test Merge pull request #486 from ntd/simple_test-revamp 2021-04-12 07:45:09 +02:00
.gitattributes Normalize line endings (#126) 2017-08-16 20:07:39 +02:00
.gitignore Migrate to Github Actions 2021-02-17 13:53:41 +01:00
CMakeLists.txt Merge pull request #486 from ntd/simple_test-revamp 2021-04-12 07:45:09 +02:00
ChangeLog Create and v1.3.3 (skip v1.3.2 due to mistake) 2018-02-02 09:11:17 +01:00
Doxyfile Add simple_ng test program 2021-04-10 16:49:17 +02:00
LICENSE Normalize line endings (#126) 2017-08-16 20:07:39 +02:00
README.md Migrate to Github Actions 2021-02-17 13:53:41 +01:00
drvcomment.txt Added SOEM 1.3 (hg: a02cedcbdca5) 2014-11-25 16:10:29 +01:00

README.md

Simple Open EtherCAT Master Library

Build Status

BUILDING

Prerequisites for all platforms

  • CMake 2.8.0 or later

Windows (Visual Studio)

  • Start a Visual Studio command prompt then:
    • mkdir build
    • cd build
    • cmake .. -G "NMake Makefiles"
    • nmake

Linux & macOS

  • mkdir build
  • cd build
  • cmake ..
  • make

ERIKA Enterprise RTOS

Documentation

See https://openethercatsociety.github.io/doc/soem/

Want to contribute to SOEM or SOES?

If you want to contribute to SOEM or SOES you will need to sign a Contributor License Agreement and send it to us either by e-mail or by physical mail. More information is available in the PDF.