Menu

Tree [13f4ba] master /
 History

HTTPS access


File Date Author Commit
 arduino 2014-10-31 raz raz [ec0165] one slave ok
 include 2013-05-09 raz raz [48410f] types and packing
 kernel 2013-05-13 raz raz [efbdbe] somehow socket protocol was added to master bra...
 stack 2014-11-05 raz raz [3e2f3e] product code 4
 user 2015-06-24 raz benyuda raz benyuda [13f4ba] fix for Ubuntu 14.04 LTS
 virtual_slave 2012-12-15 raz raz [276190] DC example
 AUTHORS 2012-10-21 raz raz [92e5ba] Initial commit
 COPYING 2012-10-21 raz raz [92e5ba] Initial commit
 ChangeLog 2012-10-21 raz raz [92e5ba] Initial commit
 INSTALL 2014-10-31 raz raz [ec0165] one slave ok
 Makefile.am 2015-06-20 raz benyuda raz benyuda [6e781c] split LDFLAGS and LDADD as new automake demands
 Makefile.in 2014-10-31 raz raz [ec0165] one slave ok
 NEWS 2012-10-21 raz raz [92e5ba] Initial commit
 README 2013-05-06 raz raz [465e14] typo
 aclocal.m4 2014-10-31 raz raz [ec0165] one slave ok
 compile 2014-10-31 raz raz [ec0165] one slave ok
 configure 2014-10-31 raz raz [ec0165] one slave ok
 configure.ac 2015-06-20 raz benyuda raz benyuda [4981a1] automake 1.14 on LTS 14.
 depcomp 2014-10-31 raz raz [ec0165] one slave ok
 install-sh 2014-10-31 raz raz [ec0165] one slave ok
 missing 2014-10-31 raz raz [ec0165] one slave ok

Read Me

	Light Ethercat Slave

ecslave comes in three flavors:
1.  linux user space 
2.  linux kernel drive.
3.  stack for arduino.

The user space is meant to be used as a tool for debugging 
the ethercat stack. The kernel module is aimed to provide a 
low latency respnosiveness. Arduino is part of a larget suite 
aimed to create cheap robot kits ( ~100$, controller with a single drive).

	User space design

in short, two threads, each thread is in charge of capturing packets
from its assigned network device and passing them to the ethercat protocol
if needed.

	Kernel space Design

This module is composed from several software components.
1. the ethercat stack. 
2. ethercat sockets
3. user space task executing in preempt rt kernel. 

Ethercat packet flow is ring toplogy. when a ring can is implemented
on a full duplex ehtercat cards so it actually a line. 


	TX path
master.. --> rx interface -->  slave --> tx interface .... ___
							      |
	RX path						      |
				 		    	      |
master.. <--  rx interface <-- slave <---tx interface <-... __|
 
	Arduino

only ethercat stack is implemeted. User has to add his own code.