Go to file
Andreas Karlsson d04bed4666 Sync local SM PDIreg with ESC PDIreg at Mbx start
When starting mailbox service, write the value of
ECAT RepeatRequest to PDI RepeatAck. Otherwise
it is risk of a race condition when running
CTT and the repeat ack would hold the value
of previous repeat ack test.

The race condition occurs on slow targets
that doesn't handle the repeat request
fast enough. The resulting mailbox read
will come before the mailbox is emptied
on the SM changed event.

fixes
2024-03-20 08:26:25 +01:00
.github Bump build platform 2021-10-25 09:57:18 +02:00
applications Enable SM3 interrupt for input only slave 2022-09-27 18:16:22 +02:00
cmake Enable Wconversion for Linux 2023-03-28 22:43:57 +02:00
drivers/linux/lan9252 linux lan9252 driver source cleanup 2018-04-13 12:31:42 +09:00
soes Sync local SM PDIreg with ESC PDIreg at Mbx start 2024-03-20 08:26:25 +01:00
.gitattributes Normalize line endings (#27) 2017-08-18 17:01:54 +02:00
.gitignore Update applications to SOES v3.0 2019-05-09 15:43:07 +02:00
CMakeLists.txt Bump cmake version 2021-10-26 09:36:04 +02:00
LICENSE Put a brief license info in source files and bump version 2017-10-25 13:39:20 +02:00
README.md Migrate to Github Actions 2021-02-17 16:33:17 +01:00
version.h.in Normalize line endings (#27) 2017-08-18 17:01:54 +02:00

README.md

Simple Open Source EtherCAT Slave

Build Status

SOES (Simple OpenSource EtherCAT Slave Stack) is an opensource slave stack that is very easy to use and provides a small footprint. It is a good alternative to more complex stacks on the market.

Overview

SOES is an EtherCAT slave stack written in c. Its purpose is to learn and to use. All users are invited to study the source to get an understanding how an EtherCAT slave functions.

Feature list:

  • Address offset based HAL for easy ESC read/write access via any interface
  • Mailbox with data link layer
  • CoE
  • Object dictionary
  • SDO read and write for all sizes including segmented transfers
  • Easy portable C-code suited for embedded applications
  • Fixed and/or dynamic PDO mapping
  • FoE with bootstrap template
  • Support for Little and Big endian targets
  • Run polling, mixed polling/interrupt or interrupt
  • Support for SM Synchronization
  • Support DC sync0 and DC Synchronization
  • Add stack configuration via new configuration parameter to/or from "stack"_init
  • EoE

TODO

  • Update documentation
  • Add EoE sample application