TODO
author Florian Pose <fp@igh-essen.com>
Fri, 25 Apr 2008 12:04:23 +0000
changeset 900 f8b5c6d21705
parent 899 e82e2e4cdc9b
child 901 5ecf7e5729f9
permissions -rw-r--r--
Removed bus validation; slave configuration during realtime operation;
improved scan/config busy flags.
-------------------------------------------------------------------------------

EtherCAT master TODO

$Id$

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

Version 1.4.0:

* Remove self_configured flag to avoid unnecessary process data
  interruptions.
* Replace Sysfs interface with cdev and a user space program
  to replace lsec; move a few sysfs attributes to proc.
* Implement realtime interface via cdev.
* Make scanning and configuration run parallel (each).
* Mailbox state machine using toggle bits.
* Mailbox protocol handlers.
* Remove get_cycles() calls and references to cpu_khz to increase
  portability.
* Remove ecdb.h and let lsec output PDO information 'cut-and-pastable' for
  applications.
* SDO write access in sysfs.
* Update documentation.
* Supply new ec_master_state_t.
* Scanning of Sdo dictionary / writing EEPROM in OPERATION state.
* Adapt remaining examples.
* READMEs for examples.
* Separate Pdo and Pdo entry classes.
* Attach Pdo names.
* Wait for bus scanning, even when link is not up at ecrt_request_master().
* Implement ecrt_slave_config_state().
* Add something like lsec -n to show numeric vendor IDs.
* Remove the end state of the master state machine.
* Rename the sdodict state to sdo_dictionary.
* Check the position of the acknowledge state.
* Remove the xmldev files.
* Remove some debugging (add_sync_manager, clearing station addresses).
* Rename "Scanning pdo mapping/configuration".
* Separate CoE debugging.
* Make ecrt_master_slave_config() return no error when slave is not present
  or invalid.
* Remove ec_master_prepare().

Future issues:

* Distributed clocks.
* Move slave handlers and state machines, etc. into a user space daemon (move
  kernel threads to user space daemon with a TCP interface replacing the
  cdev).
* Mailbox gateway.
* Slave-to-slave communication.
* Redundancy with 2 network adapters.
* Interface/buffers for asynchronous domain IO.

Smaller issues:

* Evaluate SII Size field (0x003E) to determine maximum SII memory size.
* Unite fsm_pdo_mapping, fsm_pdo_config and fsm_coe_map.
* Clear sync managers in INIT.
* Simplify FSMs with <state>_enter() functions.
* Read out CRC counters.
* Optimize alignment of process data.
* Evaluate EEPROM contents after writing.
* Configure slave ports to automatically open on link detection.
* Interrupt master state machines state scan for other jobs.
* Master state machine, slave configuration: Do not check every slave on
  a cycle.
* Only execute one EoE handler per EoE cycle.

Less important issues:

* File access over EtherCAT (FoE).
* Allow VLAN tagging.
* Determine number of frames, the NIC can handle.

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