fp@479: ------------------------------------------------------------------------------- fp@479: fp@479: $Id$ fp@479: fp@479: ------------------------------------------------------------------------------- fp@479: fp@1634: Changes since 1.4.0-rc2: fp@1634: fp@1634: * Minor fix in 'slaves' command that fixed duplicate display of supported fp@1634: mailbox protocols. fp@1634: * The Sdo Information Service is only queried, if the slave has the fp@1634: corresponding SII bit set. fp@1634: fp@1631: Changes in version 1.4.0-rc2: fp@1631: fp@1631: * Fixed a deadlock causing race condition concerning thread signaling when the fp@1631: master thread had no opportunity to run, but shall be killed immediately fp@1631: after creation. fp@1631: * Added missing up()s causing a semaphore being not released in some rare fp@1631: cases. fp@1631: * Minor fixes. fp@1631: * Removed some deprecated files. fp@1631: fp@1631: Changes in version 1.4.0-rc1: fp@767: fp@792: * Realtime interface changes: fp@1083: - Replaced ec_slave_t with ec_slave_config_t, separating the bus fp@1083: configuration from the actual slaves. 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@1083: - Pdo entry registration functions do not return a process data pointer, fp@1083: but an offset in the domain's process data. In addition, an optional bit fp@1083: position can be requested. This was necessary for the external domain fp@1083: memory. An additional advantage is, that the returned offset is fp@1083: immediately valid. 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@1083: ecrt_slave_config_pdo_assign_add() to add a Pdo to a sync manager's Pdo fp@1083: assignment and ecrt_slave_config_pdo_mapping_add() to add a Pdo entry to a fp@1083: Pdo's mapping. ecrt_slave_config_pdos() is a convenience function fp@1083: for both, that uses the new data types ec_pdo_info_t and fp@1083: ec_pdo_entry_info_t. Pdo entries, that are mapped with these functions fp@1083: can now immediately be registered, even if the bus is offline. 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@1083: be reached by specifying an explicit Pdo assignment/mapping and fp@1083: registering the mapped 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@1083: - Exported ecrt_slave_config_sdo(), the generic Sdo configuration function. fp@900: - Removed the bus_state and bus_tainted flags from ec_master_state_t. fp@1011: * Device interface changes: fp@1011: - Moved device output parameter of ecdev_offer() to return value. fp@1084: * Replaced the Sysfs interface with a new 'ethercat' command-line tool, that fp@1084: communicates with the master via a character device and ioctls. The device fp@1084: is created via udev. The tool is able to fp@1083: - Write alias addresses. fp@1083: - Show the bus configuration. fp@1083: - Output binary domain process data. fp@1083: - Set the master's debug level. fp@1083: - Show domain information. fp@1083: - Show master information. fp@1083: - List Pdo assignment/mapping. fp@1083: - Write an Sdo entry. fp@1083: - List Sdo dictionaries. fp@1083: - Read an Sdo entry. fp@1083: - Output a slave's SII contents. fp@1083: - Write slave's SII contents. fp@1083: - Show slaves. fp@1083: - Request slave states. fp@1083: - Generate slave information xmls. fp@909: * Removed include/ecdb.h. fp@1084: * Using the timestamp counter is now optional (configure --enable-cycles), fp@1084: because it is only available on Intel architectures. fp@910: * Sdo dictionaries will now also be fetched in operation mode. fp@910: * SII write requests will now also be processed in operation mode. 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@897: * Network driver news: fp@897: - Added 8139too driver for kernel 2.6.22, thanks to Erwin Burgstaller. fp@897: - Added 8139too driver for kernel 2.6.23, thanks to Richard Hacker. fp@922: - Added 8139too driver for kernel 2.6.24. fp@897: - Added e1000 driver for kernel 2.6.22. fp@898: - Added e1000 driver for kernel 2.6.24, thanks to Matthias Luescher. fp@897: - Added alpha support for the Reaktek r8169 chipset, thanks to Scott fp@897: Hassan. fp@1153: - Fixed unnecessary watchdog executions in e1000 drivers (thanks to fp@1153: Olav Zarges). fp@1154: - Fixed missing protection for a spin_lock_irqrestore() call in e1000 fp@1154: drivers from 2.6.20 to 2.6.24 (thanks to Olav Zarges). fp@900: * Removed the "bus validation" routines. Slave scanning is now done any time fp@900: the bus topology changes, even during realtime operation. Because of this, fp@900: the bus_tainted flag was deprecated and removed. fp@900: * Slave configuration is not done during ecrt_master_activate() any more, but fp@900: later during realtime operation. The state of the configuration can be fp@900: queried via the ecrt_domain_state() and ecrt_slave_config_state() functions. 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@1169: * CoE implementation: fp@1169: - Use expedites transfer type for Sdos <= 4 byte (thanks to J. Mohre). fp@1169: - Allow gaps in Pdo mapping (thanks to R. Roesch). fp@1169: - Added some transfer timeouts. fp@1169: - Ansynchronous handling of Emergency requests. fp@1169: - Bugfixes. fp@1084: * Sync managers are disabled, if the size is zero. 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@1169: * List end evaluate CoE detail flags from general category. fp@812: * Added MODPROBE_FLAGS variable in start script and sysconfig file. fp@815: * Implemented missing datagram types. fp@1083: * Changed all occurrences of 'EEPROM' to 'SII' fp@870: * Allow multiple sync manager categories in SII. 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: -------------------------------------------------------------------------------