------------------------------------------------------------------------------- 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. * Use ec_datagram_zero() wherever possible. * Finish library implementation. * Rescan command. * Document ec_fsm_foe members. * 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. * Add master index to log messages. * Implement CompleteAccess for SDO uploads. * Check for Enable SDO Complete Access flag. * Remove allow_scanning flag. * ethercat tool: - 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'. 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. -------------------------------------------------------------------------------