------------------------------------------------------------------------------- EtherCAT master TODO $Id$ ------------------------------------------------------------------------------- Version 1.4.0: * Replace all Sysfs files via the new ethercat tool. - Sdo info - Sdo entry info - Sdo entry value read - Sdo entry value write - Slave alias write - Slave SII write - Slave state write - Slave info - Config info * Remove the end state of the master state machine. * Supply new ec_master_state_t. * Implement ecrt_slave_config_state(). * Make ecrt_master_slave_config() return no error when slave is not present or invalid. * Remove get_cycles() calls and references to cpu_khz to increase portability. * Adapt remaining examples. * READMEs for examples. * Update documentation. * Check for sizes of uploaded Sdos when reading mapping from CoE. * Attach Pdo names from SII or Coe dictioary to Pdos read via CoE. * Make scanning and configuration run parallel (each). 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). * Implement user space realtime interface via cdev. * SDO write access from user space. * Mailbox protocol handlers. * Mailbox state machine using toggle bits. * Mailbox gateway. * Add add -n (numeric) switch to ethercat command. * Separate CoE debugging. * Evaluate EEPROM contents after writing. * Optimize alignment of process data. * Wait for bus scanning, even when link is not up at ecrt_request_master()? * 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. * Read out CRC counters. * Configure slave ports to automatically open on link detection. * 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. -------------------------------------------------------------------------------