TODO.
-------------------------------------------------------------------------------
EtherCAT master TODO
$Id$
vim700: spelllang=en spell
-------------------------------------------------------------------------------
Version 1.5.0:
* Ethernet drivers:
- Fix link detection in generic driver.
- Add native drivers from 2.6.24 up to 2.6.31.
* Finish library implementation.
- Remove stdio uses?
* Rescan command.
* Change SDO index at runtime for SDO request.
* Output skipped datagrams again.
* Output warning when send_ext() is called in illegal context.
* Implement CompleteAccess for SDO uploads.
* Check for Enable SDO Complete Access flag.
* Remove allow_scanning flag.
* ethercat tool:
- Output error after usage.
- Data type abbreviations.
- Implement ranges for slaves and domains.
- Add -x switch for hex display.
- Implement CompleteAccess
- Implement --output-file argument in foe_read.
- Fix arguments of reg_read.
- Number layout for reg_read.
- Implement identifier parameter for cstruct command.
- Implement sync delimiter for cstruct command.
- Implement indent in 'ethercat ma'
- Implement 0xXXXX:YY format for specifying SDOs.
- Implement reading from stream for soe_write.
- Fix AL state display if error bit set.
* recompile tool/CommandVersion.cpp if revision changes.
* Log SoE IDNs with real name ([SP]-x-yyyy).
* Output SoE IDN configurations in 'ethercat config'.
* Fix casting away constness during expected WC calculation.
* Read AL status code on spontaneous state change.
* Fix clearing domains etc. when not activated and releasing.
* Output -EPROTO if mailbox protocol is not supported.
* Only output watchdog config if not default.
* Do not output 'SDO does not exist' when querying data type.
* Always write down PDO assignment/mapping in doubt? If not, add an interface
for enforcing this.
Future issues:
* Implement ecrt_slave_config_request_state().
* Remove default buffer size in SDO upload.
* Override sync manager size?
* Show Record / Array / List type of SDOs.
* Distributed clocks:
- 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:
- Add a -n (numeric) switch.
- Check for unwanted options.
- Fix number of digits in negative integer hex output.
* Simplify master fsm by introducing a common request state to handle external
requests (replace write_sii, sdo_request, etc).
* Write PDO mapping/assignment by default?
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.
-------------------------------------------------------------------------------