------------------------------------------------------------------------------- EtherCAT master TODO $Id$ vim700: spelllang=en spell ------------------------------------------------------------------------------- Version 1.5.0: * Distributed clocks: - Check 32/64 bit operations. - Use vendor correction factors when calculating transmission delays. * Fix unloading problem of ec_e100 driver. * Use ec_datagram_zero() where possible. * Fix arguments of reg_read. * Sign/Abs type for reg_ commands? * Number layout for reg_read. * Show Record / Array / List type of SDOs. * Limit bandwidth of state machine datagram. * Read alias from register 0x0012 instead of SII. * Finish library implementation. * Re-work EoE code. * Replace locking callbacks. * Implement EoE callbacks for library. * 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. -------------------------------------------------------------------------------