------------------------------------------------------------------------------- EtherCAT master TODO $Id$ ------------------------------------------------------------------------------- Version 1.4.0: * Remove self_configured flag to avoid unnecessary process data interruptions. * Replace Sysfs interface with cdev and a user space program to replace lsec; move a few sysfs attributes to proc. * Implement realtime interface via cdev. * Make scanning and configuration run parallel (each). * Mailbox state machine using toggle bits. * Mailbox protocol handlers. * Remove get_cycles() calls and references to cpu_khz to increase portability. * Remove ecdb.h and let lsec output PDO information 'cut-and-pastable' for applications. * SDO write access in sysfs. * Update documentation. * Supply new ec_master_state_t. * Scanning of Sdo dictionary / writing EEPROM in OPERATION state. * Adapt remaining examples. * READMEs for examples. * Separate Pdo and Pdo entry classes. * Attach Pdo names. * Wait for bus scanning, even when link is not up at ecrt_request_master(). * Implement ecrt_slave_config_state(). * Add something like lsec -n to show numeric vendor IDs. * Remove the end state of the master state machine. * Rename the sdodict state to sdo_dictionary. * Check the position of the acknowledge state. * Remove the xmldev files. * Separate CoE debugging. * Make ecrt_master_slave_config() return no error when slave is not present or invalid. Future issues: * Distributed clocks. * Move slave handlers and state machines, etc. into a user space daemon (move kernel threads to user space daemon with a TCP interface replacing the cdev). * Mailbox gateway. * Slave-to-slave communication. * Redundancy with 2 network adapters. * Interface/buffers for asynchronous domain IO. Smaller issues: * Evaluate SII Size field (0x003E) to determine maximum SII memory size. * Unite fsm_pdo_mapping, fsm_pdo_config and fsm_coe_map. * Clear sync managers in INIT. * Simplify FSMs with _enter() functions. * Read out CRC counters. * Optimize alignment of process data. * Evaluate EEPROM contents after writing. * Configure slave ports to automatically open on link detection. * Interrupt master state machines state scan for other jobs. * Master state machine, slave configuration: Do not check every slave on a cycle. * Only execute one EoE handler per EoE cycle. Less important issues: * File access over EtherCAT (FoE). * Allow VLAN tagging. * Determine number of frames, the NIC can handle. -------------------------------------------------------------------------------