------------------------------------------------------------------------------- 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 codes for 64bit data types. * Move data type usage string into DataTypeHandler. * Implement interpretation of SoE '[SP]-x-yyy' strings. * Implement reading from stream for soe_write. * Implement SoE fragmenting. * User-space implementation for SoE. * Add -x switch for hex display. 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. -------------------------------------------------------------------------------