Added ecrt_master_get_slave_by_pos().
-------------------------------------------------------------------------------
$Id$
-------------------------------------------------------------------------------
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.
* 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 purpuses.
* Limited infinite EEPROM reading, if 0xffff limiter word is missing.
* Removed EtherCAT line comments from 8139too drivers.
-------------------------------------------------------------------------------
Changes in version 1.2.0:
* Serveral 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 busses).
* 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.
-------------------------------------------------------------------------------