fp@479: ------------------------------------------------------------------------------- fp@479: fp@479: $Id$ fp@479: fp@479: ------------------------------------------------------------------------------- fp@479: fp@777: Changes in version 1.4.0: fp@767: fp@792: * Realtime interface changes: fp@792: - Replaced ec_slave_t with ec_slave_config_t, separating the slave objects fp@792: from the requested bus configuration. Therefore, renamed fp@792: ecrt_master_get_slave() to ecrt_master_slave_config(). fp@792: - Replaced slave address string with alias and position values. See fp@792: ecrt_master_slave_config(). fp@792: - Removed ecrt_master_get_slave_by_pos(), because it is no longer fp@832: necessary due to alias/position addressing. fp@792: - Added ec_slave_config_state_t for the new method fp@792: ecrt_slave_config_state(). fp@792: - Process data memory for a domain can now be allocated externally. This fp@842: offers the possibility to use a shared-memory region. Therefore, fp@832: added the domain methods ecrt_domain_size() and fp@832: ecrt_domain_external_memory(). fp@792: - Replaced the process data pointers in the Pdo entry registration fp@792: functions with a process data offset, that is now returned by fp@832: ecrt_slave_config_reg_pdo_entry(). This was necessary for the external fp@792: domain memory. An additional advantage is, that the returned offset value fp@832: is directly usable. If the domain's process data is allocated internally, fp@832: the start address can be retrieved with ecrt_domain_data(). fp@792: - Replaced ecrt_slave_pdo_mapping/add/clear() with fp@842: ecrt_slave_config_pdo() to add a Pdo to the mapping and fp@842: ecrt_slave_config_pdo_entry() to add a Pdo entry to a Pdo configuration. fp@842: ecrt_slave_config_mapping() is a convenience function for fp@842: both, that uses the new data types ec_pdo_info_t and ec_pdo_entry_info_t. fp@842: Mapped Pdo entries can now immediately be registered. fp@792: - Renamed ec_bus_status_t, ec_master_status_t to ec_bus_state_t and fp@792: ec_master_state_t, respectively. Renamed ecrt_master_get_status() to fp@792: ecrt_master_state(), for consistency reasons. fp@792: - Added ec_domain_state_t and ec_wc_state_t for a new output parameter fp@832: of ecrt_domain_state(). The domain state object does now contain fp@832: information, if the process data was exchanged completely. fp@792: - Former "Pdo registration" meant Pdo entry registration in fact, therefore fp@792: renamed ec_pdo_reg_t to ec_pdo_entry_reg_t and ecrt_domain_register_pdo() fp@832: to ecrt_slave_config_reg_pdo_entry(). fp@792: - Removed ecrt_domain_register_pdo_range(), because it's functionality can fp@792: be reached by specifying an explicit Pdo mapping and registering those fp@792: Pdo entries. fp@864: - Added an Sdo access interface, working with Sdo requests. These can be fp@864: scheduled for reading and writing during realtime operation. fp@893: - Exported ecrt_slave_config_sdo(), the generic Sdo configuration fp@893: function. fp@896: * Mapping of Pdo entries is now supported. fp@896: * Current Pdo assignment/mapping is now read via CoE during bus scan, using fp@832: direct Sdo access, independent of the dictionary. fp@777: * Added 8139too driver for kernel 2.6.22, thanks to Erwin Burgstaller. fp@831: * Added 8139too driver for kernel 2.6.23, thanks to Richard Hacker. fp@790: * Added e1000 driver for kernel 2.6.22. fp@817: * Added support for slaves that do not support the LRW datagram type. Separate fp@817: domains have to be used for inputs and output. fp@767: * Allow gaps in PDO mapping read from CoE. fp@777: * Fixed bug in CoE code. fp@896: * Ansynchronous handling of CoE Emergency requests. fp@777: * Improved handling of large EEPROM contents. fp@812: * Renamed ec_master module parameters main and backup to main_devices and fp@812: backup_devices to avoid warnings of some compilers. fp@837: * List end evaluate CoE detail flags from general category, list fp@837: 'Flags' from general category in slave info file. fp@812: * Added MODPROBE_FLAGS variable in start script and sysconfig file. fp@815: * Implemented missing datagram types. fp@870: * Allow multiple sync manager categories in SII. fp@872: * Changed all occurrences of 'EEPROM' to 'SII', renamed the eeprom sysfs file fp@872: to sii, in particular. fp@767: fp@767: ------------------------------------------------------------------------------- fp@767: fp@732: Changes in version 1.3.2: fp@732: fp@756: * New feature: Read dynamic PDO mapping from SDO dictionary. fp@756: * Implemented SII writing workaround for some broken slaves. fp@738: * Improved handling for spontaneous AL state changes. fp@737: * Master takes mailbox sync manager configurations from EEPROM words fp@737: 0x0018-0x001b, if no sync manager configurations are provided. fp@735: * Calculate checksum when writing EEPROM or alias address. fp@759: * Fixed source MAC address setting bug. fp@732: * Removed config.kbuild and replaced Kbuild files by Kbuild.in files. fp@732: fp@732: ------------------------------------------------------------------------------- fp@732: fp@709: Changes in version 1.3.1: fp@709: fp@723: * Improved EoE handling: Avoided skipping of datagrams and release lock fp@723: while processing. fp@723: * Added some statistics to the datagram structure. fp@723: * Master state machine clears all station addresses with a broadcast datagram fp@723: before setting them. fp@723: * Added --enable-eoe conditional. fp@723: * Minor extensions of the master info file. fp@723: * Improved handling of unexpected working counters. fp@723: * Create network interfaces for EoE devices with alias as eoeXaY. fp@709: * Fixed problems on big-endian systems. fp@709: * Added documentation on how to set up an EoE network. fp@709: fp@709: ------------------------------------------------------------------------------- fp@709: fp@573: Changes in version 1.3.0: fp@573: fp@709: * Added Intel PRO/1000 Gigabit Ethernet driver (e1000). fp@709: * Added testing version of Intel PRO/100 Ethernet driver (e100). fp@709: * Added testing version of NVIDIA nForce Ethernet driver (forcedeth). fp@661: * Removed "ec_eoeif_count" master module parameter. EoE handlers are created fp@661: dynamically instead. fp@639: * Added "main" and "backup" parameters to master module to hand over the fp@639: MAC addresses of the devices to wait for. This made the ec_device_index fp@709: parameter of the Ethernet drivers obsolete. The broadcast MAC address means, fp@709: that the master accepts the first device offered by any Ethernet driver. fp@573: * Changed format of sysconfig file and accordingly adjusted functionality fp@661: of the init script to handle the above MAC address lists. fp@612: * Realtime interface changes: fp@637: - ecrt_master_run() became obsolete, because the master state machine is now fp@637: run in process context. fp@640: - Parameter changes in PDO registration functions ecrt_domain_register_pdo() fp@640: and ecrt_register_pdo_range(): Replaced slave_address, vendor ID and fp@661: product code arguments with a slave pointer, which has to be obtained with fp@640: a prior call to ecrt_master_get_slave(). fp@640: - ecrt_master_get_slave() got additional parameters to check for vendor ID fp@640: and product code. fp@643: - Removed addressing scheme "X:Y" for ecrt_master_get_slave(). fp@697: - Added ecrt_master_get_slave_by_pos() to avoid the string handling of fp@697: ecrt_master_get_slave(). fp@661: - Added ecrt_master_get_status() to get status information about the bus. fp@661: - Added functions to set up an alternative PDO mapping for a slave, i. e. fp@635: ec_slave_pdo_mapping_clear(), ec_slave_pdo_mapping_add() and fp@635: ec_slave_pdo_mapping(). fp@573: * Device interface changes: fp@573: - Replaced ecdev_register() and ecdev_unregister() with ecdev_offer() and fp@573: ecdev_withdraw(), respectively. The device modules now offer all their fp@661: devices to the master. The master then decides, which ones to register. fp@670: - Replaced ecdev_link_state() with ecdev_set_link(); added ecdev_get_link(). fp@601: * All EEPROM write operations from user space are now blocking until fp@661: writing has finished. Appropriate error codes are returned. fp@661: * Implemented setting of the "Secondary slave address" (alias) via sysfs. fp@646: * Implemented SDO reading in operation mode via sysfs. fp@598: * Removed annoying eeprom_write_enable file. EEPROM writing always enabled. fp@656: * Slave configuration is now done exclusively from the master thread. Removed fp@656: ec_master_sync_io(). Userspace threads are now waiting for events in the fp@656: state machine. fp@650: * Master state machine scheduled with timeout if idle, otherwise is executed fp@650: as fast as possible (with schedule()). fp@709: * Added dummy module for simulation purposes. fp@696: * Limited infinite EEPROM reading, if 0xffff limiter word is missing. fp@698: * Init script works now properly on non-SUSE distros (no rc.status dependency fp@698: any more). fp@573: * Removed EtherCAT line comments from 8139too drivers. fp@573: fp@573: ------------------------------------------------------------------------------- fp@573: fp@495: Changes in version 1.2.0: fp@495: fp@709: * Several fixes of bugs and stability issues. Master should now run fine fp@564: with kernels 2.6.17 to 2.6.19. fp@533: * Realtime interface changes: fp@508: - Re-introduced ecrt_domain_queue() to allow datagram queuing apart fp@508: from datagram processing. The queuing of a domain's datagrams is not fp@508: done in ecrt_domain_process() any more! fp@508: - Removed ecrt_master_deactivate(). Its functionality was moved into fp@508: ecrt_master_release(). fp@508: - Removed ecrt_master_prepare(). Its functionality was moved into fp@508: ecrt_master_activate(). fp@508: - Renamed ecdev_start() and ecdev_stop() to ecdev_open() and ecdev_close(). fp@508: These two functions now take a pointer to ec_device_t as their arguments. fp@508: - The data_ptr parameter of ecrt_domain_register_pdo(), fp@508: ecrt_domain_register_pdo_list() and ecrt_domain_register_pdo_range() may fp@508: not be NULL any more. fp@508: - Removed ecrt_slave_pdo_size(). This function was deprecated long before. fp@541: - Introduced ECRT_VERSION_MAGIC macro and ecrt_version_magic() function. fp@533: * Device interface changes: fp@533: - ec_isr_t was replaced by ec_pollfunc_t, the device driver has to supply fp@533: a poll function to call its ISR. This was introduced because some network fp@533: drivers' interrupt functions have different arguments. fp@508: * State machines now try to re-send datagrams on datagram timeout. fp@508: * New option -c of the lsec script, displays slave current consumptions and fp@508: remaining current. fp@508: * Added frame counter in master info file. fp@495: fp@495: ------------------------------------------------------------------------------- fp@495: fp@495: Changes in version 1.1.1: fp@495: fp@479: * State change FSM: Clearing of sync managers before PREOP. fp@479: * Added modules_install make target. fp@479: * Device modules for kernel 2.6.17. fp@479: * SDO configurations available in Sysfs. fp@479: * FMMU configurations cleared when going to INIT. fp@709: * Slave-specific logs only at debug level 1 (for large buses). fp@479: * Slave flags (error, online) available in Sysfs. fp@479: * Acknowledging of spontaneous state changes in master FSMs. fp@479: * ecrt_master_deactivate() deprecated. fp@479: * Persistent slave lists. Slave structures are only regenerated on topology fp@479: change in IDLE mode. fp@479: * SDO reading via Sysfs. fp@479: * Added ecrt_domain_register_pdo_range() fp@479: * Fetching of SDO dictionary. fp@479: * Better timing behaviour when starting up under high CPU load. fp@479: * Applied Autotools. fp@479: * Improved output of lsec. fp@479: * SDO download state machine. fp@479: fp@479: ------------------------------------------------------------------------------- fp@479: fp@479: Changes in version 1.1: fp@479: fp@479: * Improved realtime interface. fp@479: fp@479: -------------------------------------------------------------------------------