TODO
author Florian Pose <fp@igh-essen.com>
Thu, 09 Apr 2009 18:21:18 +0000
changeset 1396 9d04cc08f40f
parent 1392 8fcc1d0987c1
child 1400 3c4923051e43
permissions -rw-r--r--
DC sync reference clock to application time. TBC...
-------------------------------------------------------------------------------

EtherCAT master TODO

$Id$

vim: spelllang=en spell

-------------------------------------------------------------------------------

Version 1.5.0:

* Distributed clocks:
    - Delay calculation.
    - Synchronize the reference clock to the master clock.
* Read alias from register 0x0012 instead of SII.
* Output link state in 'ethercat master'.
* Finish library implementation.
* Re-work EoE code.
* Replace locking callbacks.
* Implement EoE callbacks for library.
* Clear slave list on link down.
* Rescan command.
* Override sync manager size?
* Remove ecrt_domain_state()?
* Check force_config flag before error.
* Remove allow_scanning flag.
* Test File access over EtherCAT (FoE) reading.
* Implement ecrt_master_slave() in kernel space.
* Check for ioctl() interface version.
* Improve application-triggered SDO transfers by moving the statemachine into
  the SDO handlers.
* Apply watchdog patches from J. Mohre.

Future issues:

* Segmented SDO downloads.
* External memory for SDO transfers.
* Bus information via userspace library (slaves, sync managers, PDOs, entries).
* C++ implementation of the library.
* Bus simulator interface.
* Move master threads, slave handlers and state machines into a user
  space daemon.
* Allow master requesting when in ORPHANED phase
* Mailbox protocol handlers.
* Mailbox state machine using toggle bits.
* Mailbox gateway.
* Separate CoE debugging.
* Evaluate EEPROM contents after writing.
* Optimize alignment of process data.
* Redundancy with 2 network adapters.
* Interface/buffers for asynchronous domain IO.
* Make scanning and configuration run parallel (each).
* ethercat tool:
    - Data type abbreviations.
    - Add a -n (numeric) switch.
	- Check for unwanted options.
* Simplify master fsm by introducing a common request state to handle external
  requests (replace write_sii, sdo_request, etc).

Smaller issues:

* Stop master thread at ecrt_master_request() to get rid of allow_* flags?
* Clear sync managers in INIT.
* Read out CRC counters.
* Configure slave ports to automatically open on link detection.
* Only execute one EoE handler per EoE cycle.
* Fix datagram errors on application loading/unloading.

Less important issues:

* Allow VLAN tagging.
* Determine number of frames, the NIC can handle.

-------------------------------------------------------------------------------