------------------------------------------------------------------------------- $Id$ ------------------------------------------------------------------------------- Changes in version 1.3.2: * Implemented SII writing workaround for some slaves, that don't respond correctly. * Read dynamic PDO mapping from SDO dictionary. * Improved handling for spontaneous AL state changes. * Master takes mailbox sync manager configurations from EEPROM words 0x0018-0x001b, if no sync manager configurations are provided. * Calculate checksum when writing EEPROM or alias address. * Removed config.kbuild and replaced Kbuild files by Kbuild.in files. ------------------------------------------------------------------------------- Changes in version 1.3.1: * Improved EoE handling: Avoided skipping of datagrams and release lock while processing. * Added some statistics to the datagram structure. * Master state machine clears all station addresses with a broadcast datagram before setting them. * Added --enable-eoe conditional. * Minor extensions of the master info file. * Improved handling of unexpected working counters. * Create network interfaces for EoE devices with alias as eoeXaY. * Fixed problems on big-endian systems. * Added documentation on how to set up an EoE network. ------------------------------------------------------------------------------- Changes in version 1.3.0: * Added Intel PRO/1000 Gigabit Ethernet driver (e1000). * Added testing version of Intel PRO/100 Ethernet driver (e100). * Added testing version of NVIDIA nForce Ethernet driver (forcedeth). * Removed "ec_eoeif_count" master module parameter. EoE handlers are created dynamically instead. * Added "main" and "backup" parameters to master module to hand over the MAC addresses of the devices to wait for. This made the ec_device_index parameter of the Ethernet drivers obsolete. The broadcast MAC address means, that the master accepts the first device offered by any Ethernet driver. * Changed format of sysconfig file and accordingly adjusted functionality of the init script to handle the above MAC address lists. * Realtime interface changes: - ecrt_master_run() became obsolete, because the master state machine is now run in process context. - Parameter changes in PDO registration functions ecrt_domain_register_pdo() and ecrt_register_pdo_range(): Replaced slave_address, vendor ID and product code arguments with a slave pointer, which has to be obtained with a prior call to ecrt_master_get_slave(). - ecrt_master_get_slave() got additional parameters to check for vendor ID and product code. - Removed addressing scheme "X:Y" for ecrt_master_get_slave(). - Added ecrt_master_get_slave_by_pos() to avoid the string handling of ecrt_master_get_slave(). - Added ecrt_master_get_status() to get status information about the bus. - Added functions to set up an alternative PDO mapping for a slave, i. e. ec_slave_pdo_mapping_clear(), ec_slave_pdo_mapping_add() and ec_slave_pdo_mapping(). * Device interface changes: - Replaced ecdev_register() and ecdev_unregister() with ecdev_offer() and ecdev_withdraw(), respectively. The device modules now offer all their devices to the master. The master then decides, which ones to register. - Replaced ecdev_link_state() with ecdev_set_link(); added ecdev_get_link(). * All EEPROM write operations from user space are now blocking until writing has finished. Appropriate error codes are returned. * Implemented setting of the "Secondary slave address" (alias) via sysfs. * Implemented SDO reading in operation mode via sysfs. * Removed annoying eeprom_write_enable file. EEPROM writing always enabled. * Slave configuration is now done exclusively from the master thread. Removed ec_master_sync_io(). Userspace threads are now waiting for events in the state machine. * Master state machine scheduled with timeout if idle, otherwise is executed as fast as possible (with schedule()). * Added dummy module for simulation purposes. * Limited infinite EEPROM reading, if 0xffff limiter word is missing. * Init script works now properly on non-SUSE distros (no rc.status dependency any more). * Removed EtherCAT line comments from 8139too drivers. ------------------------------------------------------------------------------- Changes in version 1.2.0: * Several fixes of bugs and stability issues. Master should now run fine with kernels 2.6.17 to 2.6.19. * Realtime interface changes: - Re-introduced ecrt_domain_queue() to allow datagram queuing apart from datagram processing. The queuing of a domain's datagrams is not done in ecrt_domain_process() any more! - Removed ecrt_master_deactivate(). Its functionality was moved into ecrt_master_release(). - Removed ecrt_master_prepare(). Its functionality was moved into ecrt_master_activate(). - Renamed ecdev_start() and ecdev_stop() to ecdev_open() and ecdev_close(). These two functions now take a pointer to ec_device_t as their arguments. - The data_ptr parameter of ecrt_domain_register_pdo(), ecrt_domain_register_pdo_list() and ecrt_domain_register_pdo_range() may not be NULL any more. - Removed ecrt_slave_pdo_size(). This function was deprecated long before. - Introduced ECRT_VERSION_MAGIC macro and ecrt_version_magic() function. * Device interface changes: - ec_isr_t was replaced by ec_pollfunc_t, the device driver has to supply a poll function to call its ISR. This was introduced because some network drivers' interrupt functions have different arguments. * State machines now try to re-send datagrams on datagram timeout. * New option -c of the lsec script, displays slave current consumptions and remaining current. * Added frame counter in master info file. ------------------------------------------------------------------------------- Changes in version 1.1.1: * State change FSM: Clearing of sync managers before PREOP. * Added modules_install make target. * Device modules for kernel 2.6.17. * SDO configurations available in Sysfs. * FMMU configurations cleared when going to INIT. * Slave-specific logs only at debug level 1 (for large buses). * Slave flags (error, online) available in Sysfs. * Acknowledging of spontaneous state changes in master FSMs. * ecrt_master_deactivate() deprecated. * Persistent slave lists. Slave structures are only regenerated on topology change in IDLE mode. * SDO reading via Sysfs. * Added ecrt_domain_register_pdo_range() * Fetching of SDO dictionary. * Better timing behaviour when starting up under high CPU load. * Applied Autotools. * Improved output of lsec. * SDO download state machine. ------------------------------------------------------------------------------- Changes in version 1.1: * Improved realtime interface. -------------------------------------------------------------------------------