NEWS
author Florian Pose <fp@igh-essen.com>
Thu, 09 Aug 2007 15:45:56 +0000
changeset 693 e341f1788608
parent 670 f57de4585a5f
child 696 24fac09b5b26
permissions -rw-r--r--
Switched to tx socket buffer ring to avoid race conditions when multiple
instances call ec_device_send() in short intervals.
-------------------------------------------------------------------------------

$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_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.
* 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.

-------------------------------------------------------------------------------