Go to file
andreas karlsson df0d169eef Fix errornous segmented download CompleteAccess
On the final segment the SDO shoud be written using the
pre-allocated buffer used to store segments during transfer.
When completed the pre-allocated buffer is written to the SDO.
This fix change to correct complete_access_subindex_loop
 - buffer, ESCvar.mbxdata
 - to use the lookup indexes for ESCVar.index -> nidx and
   ESCvar.subindex -> nsub.
2021-12-16 10:36:54 +01:00
.github Bump build platform 2021-10-25 09:57:18 +02:00
applications Add simple demo for Raspberry Pi 2021-09-02 16:40:40 +02:00
cmake Add simple demo for Raspberry Pi 2021-09-02 16:40:40 +02:00
drivers/linux/lan9252 linux lan9252 driver source cleanup 2018-04-13 12:31:42 +09:00
soes Fix errornous segmented download CompleteAccess 2021-12-16 10:36:54 +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