Todo List
Class EC_ESM
Unexpected transitions in the state of the slave (via slaves application, only for complex slaves) are not dealt with for now... This should probably be fixed using a special mailbox msg or a polling mechanism but AFAIS this is undocumented in the spec (see 8.2.4.4.6 Stop output update)...
Class EC_ESM_State
The bootstrap state is currently not implemented
Class EC_Frame
This interface is not complete, eg. currently there is no way to add/remove telegrams to a frame. Note however that this EtherCAT feature is rarely used AFAIS.
Class EC_Logic
search better name for this
Member EtherCAT_AL::get_slave_handler (EC_FixedStationAddress station_address)
As implemented right now, this is an O(N) operation. Try to use some kind of mapping/hash table...
Member EtherCAT_AL::scan_slaves (void)
if 2 slaves have the same product code and revision, they will get the same address!!
Member EtherCAT_Router::route (void) const

This method should not be public, but since it is used in a C-function and I don't know how I could declare a C-function to be a friend of a class...

The current implementation simply polls the sync manager data area of each slave and checks if wkc is incremented. Another solution is to configure FMMU's of each slave and query the slaves with one logical EtherCAT msg. This has the advantage of only using one message per slave, but it "sacrifices" an extra FMMU per slave, which might not always be possible. In that case, the master would---during the start_mbx_communication() call of slaves---configure an FMMU of the slave which listens to the written bit of sync manager 0.

Class EtherCAT_SlaveConfig
Build this class by parsing (xml-)configuration file


ros_ethercat_eml
Author(s): Tom Panis, Klaas Gadeyne, Bob Koninckx, Austin Hendrix, Manos Nikolaidis
autogenerated on Thu Jul 4 2019 20:01:50