TODO
author Florian Pose <fp@igh-essen.com>
Fri, 05 Mar 2010 13:39:57 +0100
changeset 1835 20748e9d2238
parent 1830 ef09f0ea0c4c
child 1836 52036efdf1e3
permissions -rw-r--r--
Sourced out data type handling into an own class.
-------------------------------------------------------------------------------

EtherCAT master TODO

$Id$

vim700: spelllang=en spell

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

Version 1.5.0:

* Fix link detection in generic driver.
* Remove byte-swapping functions from user space.
* Implement 'ethercat foe_read --output-file ...'.
* Use ec_datagram_zero() wherever possible.
* Fix arguments of reg_read.
* Number layout for reg_read.
* Finish library implementation.
* Rescan command.
* Document ec_fsm_foe members.
* Implement identifier parameter for cstruct command.
* Implement sync delimiter for cstruct command.
* Change SDO index at runtime for SDO request.
* Output skipped datagrams again.
* Output warning on unmatched slave configuration.
* Output warning when send_ext() is called in illegal context.
* Output hexadecimal values in 'ethercat xml'.
* Add native drivers from 2.6.24 up to 2.6.31.
* Implement indent in 'ethercat ma'
* Add master index to log messages.
* Implement 0xXXXX:YY format for specifying SDOs.
* Lookup CoE codes for 64bit data types.
* Move data type usage string into DataTypeHandler.

Future issues:

* Implement ecrt_slave_config_request_state().
* Implement CompleteAccess for command-line tool.
* Implement CompleteAccess for SDO uploads.
* Check for Enable SDO Complete Access flag.
* Remove default buffer size in SDO upload.
* Improve application-triggered SDO transfers by moving the state machine into
  the SDO handlers.
* Remove allow_scanning flag.
* Override sync manager size?
* Show Record / Array / List type of SDOs.
* Distributed clocks:
    - Check 32/64 bit operations.
    - Use vendor correction factors when calculating transmission delays.
    - Skip setting system time offset when application detached.
    - How to use the SYNC1 shift time?
    - Do not output graph, if topology calculation failed.
    - Set the "Cyclic Generation Start Time" based on the slave's
      "System Time" register instead of using the application time.
    - Check if register 0x0980 is working, to avoid clearing it when
      configuring.
* Mailbox protocol handlers.
* Mailbox state machine using toggle bits.
* External memory for SDO transfers.
* 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 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.
    - Implement ranges for slaves, domains, etc.
* Simplify master fsm by introducing a common request state to handle external
  requests (replace write_sii, sdo_request, etc).

Smaller issues:

* Read out CRC counters.
* Configure slave ports to automatically open on link detection.
* Fix datagram errors on application loading/unloading.

Less important issues:

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

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