Commit Graph

132 Commits

Author SHA1 Message Date
Andreas Karlsson 49810a5adf VxWorks: Remove usage of muxTkSend, improve abandoned frame handling. bugfix for msgQRecv return value, add cleanup on NIC close 2019-05-24 13:58:41 +02:00
Andreas Karlsson c220255604 Don't re-define TRUE and FALSE if already defined 2019-05-24 13:55:15 +02:00
Andreas Karlsson 151045ed56 Adjust Linux and Win32 application SAFEOP->OP timeouts, fixes #141 2019-05-24 13:49:10 +02:00
Andreas Karlsson b978b4cb5c Improve documentation fixes #226 and fixes #270 2019-05-24 13:43:45 +02:00
Marc Butler 812403783c Add port to macOS (#286)
* Port to macOS

This port to macOS is an amalgam of the existing Linux and Win32
ports. Consequently code is duplicated from each in this port:
primarily from win32 in oshw, and Linux is osal.

Synthesizing a shared common posix port, did not seem warranted given
the modest amount of code, and stable api.

This port uses the default pcap interface provided in the development
libraries shipped with XCode.

Limited testing on os releases: 10.13 and 10.14.

* fix possible race condition as for win32

See aed0f81724

* fix spelling as for linux / win32

See 7beba91c62
2019-05-15 07:35:31 +02:00
ArthurKetels d16d81e51b
Merge pull request #283 from Apollo3zehn/fix/windows_use_absolute_time
osal.c (Windows): Use absolute time instead of relative time.
2019-05-10 23:14:50 +02:00
Vincent Wilms 4671254849 Use absolute time on win32 for DC initialization and errors. 2019-05-10 14:54:17 +02:00
Schlumpf 787cf82d7d Add possibiliy to set endian target by hardware layer
Now it is possible to set a EC_LITTLE_ENDIAN or EC_BIG_ENDIAN in the
osal_defs.h file or by compile option. If no endian is defined, the default
EC_LITTLE_ENDIAN is used.
2019-05-10 10:19:25 +02:00
jopado1 537145f6bf Fixes for big-endian hosts 2019-05-10 10:17:46 +02:00
Claudio Scordino 29df9ba013 Add ERIKA Enterprise RTOS support
This patch adds support to SOEM for the ERIKA Enterprise RTOS
(erika-enterprise.com).

Current requirements for running SOEM on ERIKA RTOS:
 - x86-64 platform with 2+ cores
 - Xen hypervisor
 - Intel i210 PCIe Ethernet controller

Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Luca Cuomo <l.cuomo@evidence.eu.com>
2019-05-10 08:43:18 +02:00
ArthurKetels ab89d557d5
Merge pull request #280 from OpenEtherCATsociety/fix/soemlib_undef_ec_ver1
Fix to enable building the SOEM library VER 2 with -werror
2019-04-12 10:40:27 +02:00
andreas karlsson a37a8c733e Fix to enable building the SOEM library VER 2 with -werror 2019-04-08 10:02:03 +02:00
nakarlsson 90065c08d0
Merge pull request #271 from claudioscordino/pull_request
Tutorial: explain how to access CoE SDOs and PDOs
2019-04-08 08:59:04 +02:00
ArthurKetels 5a47e61f24
Merge pull request #275 from OpenEtherCATsociety/fix/emptybuf_racecondition
Remove possible racecondition of set buf EMPTY
2019-04-01 10:45:07 +02:00
Andreas Karlsson aed0f81724 Remove possible racecondition of set buf EMPTY 2019-04-01 09:50:14 +02:00
Claudio Scordino 45e5b4e6eb Tutorial: explain how to access CoE SDOs and PDOs
Trivial patch reporting some useful information already provided as
GitHub issues.
2019-03-27 16:36:49 +01:00
nakarlsson 828b8987d9
Merge pull request #260 from nakarlsson/master
improve groups, make memory usage more efficient, fix erroneous byte …
2019-03-12 10:08:05 +01:00
Andreas Karlsson 930d6e07c8 improve groups, make memory usage more efficient, fix erroneous byte calculations and dc frame handling 2019-03-11 10:34:21 +01:00
ArthurKetels 8832ef0f2f
Merge pull request #256 from claudioscordino/upstream-new
Clean up comments, EC_PRINT and thread usage.
2019-02-14 11:54:19 +01:00
Claudio Scordino e0d880d7bd Avoid OSAL_THREAD usage when EC_MAX_MAPT=1
Rationale : allow SOEM to be used in a OS that does not support threads.
2019-02-14 10:56:50 +01:00
Claudio Scordino 7beba91c62 Fix typos in comments.
No functional changes.
2019-02-04 13:56:11 +01:00
Claudio Scordino 770e4c93d6 README: link to the documentation 2019-02-04 13:56:06 +01:00
Claudio Scordino 26cde1dc94 Introduce platform-specific EC_PRINT
Rationale: not all operating systems use function printf for printing
console messages. This commits allows to define platform-specific
functions.
2019-02-04 13:56:00 +01:00
Claudio Scordino 826be99bab .gitignore: ignore ctags file 2019-02-04 13:55:53 +01:00
nakarlsson 037a629839
Fixed un-used parameter and variable warnings for EoE (#248)
Trivial fix, no review
2019-02-01 10:42:18 +01:00
nakarlsson 86a2584e47
Impelmented EoE filter function in mailbox receive (#244) 2019-01-31 14:57:16 +01:00
ArthurKetels 4427684cc5
ethercatconfig : Set SM enable flag if SM length > 0 2019-01-31 10:07:18 +01:00
Qbotics Labs b4f3a306e4 Fix in aliastool.c (#234) 2018-11-27 07:27:18 +01:00
Schlumpf 8f2b233837 Endian fixes (#222)
This patch fixes some bugs on big-endian systems.
  - Use temp variables for etohs() and etohl() at function calls to avoid
    multiple function calls for one value.
  - Fix and add use of etohs(), etohl(), htoes() and htoel().
  - Fix use of 32bit values in 64bit variables.
2018-11-14 11:56:57 +01:00
wanga 0a67e6bf94 Fix race condition in rxbufstat (#200) 2018-08-23 07:36:56 +02:00
wanga 2e165bee41 Protect against priority inversion for linux (#194)
Set priority inheritance for mutex
2018-08-07 18:00:30 +02:00
Hans-Erik Floryd 5b2c51b65c
Merge pull request #187 from lounick/rtems5-integration
Rtems5 integration
2018-07-10 14:35:37 +02:00
Nikolaos Tsiogkas 94217505df Move to RTEMS 5 and don't build tests for RTEMS 2018-07-06 11:33:22 +02:00
nakarlsson b1e4b6ce95
Merge pull request #182 from jespersmith/patch-1
Increased size of EEPROM buffer in eepromtool.c
2018-07-03 21:30:02 +02:00
Jesper Smith d8c5620768
Increased size of EEPROM buffer in eepromtool.c
This PR increases the size eepromtool can read/write to 4 megabit, which is the maximum slave devices seem to support according to the datasheets.

Due to space constraints on our device we store some application specific data on our slave that exceeds 32kbyte, hence the need for the ability to read/write larger images to EEPROM.
2018-06-21 09:15:22 +02:00
nakarlsson 0398b6ba72
Merge pull request #164 from zchen24/fix/cmake-win64-path
Fixed windows x64 link path
2018-03-04 17:43:57 +01:00
Zihan Chen 462464ee37 Fixed windows x64 warning C4267 conversion from size_t to uint16 2018-02-22 15:01:44 -08:00
Zihan Chen 415131e3f1 Fixed windows x64 link path 2018-02-22 12:12:59 -08:00
nakarlsson c12de6633a
Merge pull request #159 from nakarlsson/master
Create and v1.3.3 (skip v1.3.2 due to mistake)
2018-02-02 09:12:38 +01:00
rtlaka 99f4e1c8f7 Create and v1.3.3 (skip v1.3.2 due to mistake) 2018-02-02 09:11:17 +01:00
nakarlsson 5261e237e4
Merge pull request #158 from nakarlsson/master
Bump version and update the documentation
2018-02-02 08:51:43 +01:00
rtlaka 084a3b8576 Bump version and update the documentation 2018-02-02 08:47:35 +01:00
nakarlsson 8094ff1b80
Merge pull request #157 from nakarlsson/master
When broadcast read the state,it is OK if the WKC is higher
2018-02-02 08:29:46 +01:00
rtlaka 2b339a135b When broadcast read the state,it is OK if the WKC is higher 2018-02-02 08:27:19 +01:00
nakarlsson 0adfb0025b
Merge pull request #156 from nakarlsson/master
Add functions to configure and send an overlapping IOmap
2018-02-02 08:21:46 +01:00
rtlaka 28d82fa8fd Add functions to configure and send an overlapping IOmap 2018-02-01 13:01:35 +01:00
nakarlsson fc945ba86b
Merge pull request #155 from nakarlsson/master
Add check that all slaves are present
2018-02-01 10:50:02 +01:00
rtlaka f329d2fc3a Add check that all slaves are present 2018-01-31 10:18:56 +01:00
Hans-Erik Floryd cd243dedcc
Merge pull request #143 from lounick/integrate-with-RTEMS
Integrate with RTEMS
2018-01-25 11:13:23 +01:00
Nick Tsiogkas 3cc1e9739e Integrate SOEM with RTEMS 2018-01-23 17:07:59 +01:00