From 5b5b7e1e0053e3bbd5fdb449e1222874110b4201 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Wed, 2 Jul 2008 14:28:30 +0000 Subject: [PATCH] Updated header docs, features and news file. --- FEATURES | 20 +++++++++---------- NEWS | 54 +++++++++++++++++++++++++++++++------------------- include/ecrt.h | 18 ++++++++++------- 3 files changed, 55 insertions(+), 37 deletions(-) diff --git a/FEATURES b/FEATURES index 793c21fa..0827c99c 100644 --- a/FEATURES +++ b/FEATURES @@ -10,8 +10,8 @@ General Features: * Runs as kernel module for Linux 2.6. -* Comes with EtherCAT-capable network driver for RTL8139 and compatible - network interface cards. +* Comes with EtherCAT-capable network driver for serveral network interface + cards. - Interrupt-less network driver operation. - Easy implementation of additional network drivers through common device interface of the master. @@ -32,19 +32,20 @@ General Features: - Automatic calculation of process data mapping, FMMU- and sync manager configuration within the domains. -* Master finite state machine (FSM). Thus: +* Master finite state machine (FSM). - Bus monitoring during realtime operation. - Automatic reconfiguration of slaves on bus power failure during realtime operation. - - Controlling of slave states during realtime operation. + - Setting slave states during realtime operation. * Special IDLE mode, when master is not in use. - Automatic scanning of slaves upon topology changes. - Bus visualisation and EoE processing without realtime process connected. * Implementation of the CANopen-over-EtherCAT (CoE) protocol. - - Configuration of CoE-capable slaves via SDO interface. - - SDO dictionary listing. + - Configuration of CoE-capable slaves via Sdo interface. + - Sdo information service (dictionary listing). + - Sdo access via the realtime interface. * Implementation of the Ethernet-over-EtherCAT (EoE) protocol. - Creates virtual network devices that are automatically coupled to @@ -52,10 +53,9 @@ General Features: - Thus natively supports either a switched or a routed EoE network architecture with standard GNU/Linux tools. -* User space interface via the system filesystem (Sysfs). - - Detailed information about master and slaves in a tree structure. - - User space tool 'lsec' for quick bus visualisation. - - Slave EEPROM image reading and writing. +* User space interface via a command-line tool 'ethercat'. + - Detailed information about master, slaves and the bus configuration. + - Slave SII reading and writing. * Seamless integration in your favourite GNU/Linux distibution. - Master and network device configuration via sysconfig files. diff --git a/NEWS b/NEWS index b5b5588f..10151a5d 100644 --- a/NEWS +++ b/NEWS @@ -7,8 +7,8 @@ $Id$ Changes in version 1.4.0: * Realtime interface changes: - - Replaced ec_slave_t with ec_slave_config_t, separating the slave objects - from the requested bus configuration. Therefore, renamed + - Replaced ec_slave_t with ec_slave_config_t, separating the bus + configuration from the actual slaves. Therefore, renamed ecrt_master_get_slave() to ecrt_master_slave_config(). - Replaced slave address string with alias and position values. See ecrt_master_slave_config(). @@ -20,18 +20,19 @@ Changes in version 1.4.0: offers the possibility to use a shared-memory region. Therefore, added the domain methods ecrt_domain_size() and ecrt_domain_external_memory(). - - Replaced the process data pointers in the Pdo entry registration - functions with a process data offset, that is now returned by - ecrt_slave_config_reg_pdo_entry(). This was necessary for the external - domain memory. An additional advantage is, that the returned offset value - is directly usable. If the domain's process data is allocated internally, + - Pdo entry registration functions do not return a process data pointer, + but an offset in the domain's process data. In addition, an optional bit + position can be requested. This was necessary for the external domain + memory. An additional advantage is, that the returned offset is + immediately valid. If the domain's process data is allocated internally, the start address can be retrieved with ecrt_domain_data(). - Replaced ecrt_slave_pdo_mapping/add/clear() with - ecrt_slave_config_pdo() to add a Pdo to the mapping and - ecrt_slave_config_pdo_entry() to add a Pdo entry to a Pdo configuration. - ecrt_slave_config_mapping() is a convenience function for - both, that uses the new data types ec_pdo_info_t and ec_pdo_entry_info_t. - Mapped Pdo entries can now immediately be registered. + ecrt_slave_config_pdo_assign_add() to add a Pdo to a sync manager's Pdo + assignment and ecrt_slave_config_pdo_mapping_add() to add a Pdo entry to a + Pdo's mapping. ecrt_slave_config_pdos() is a convenience function + for both, that uses the new data types ec_pdo_info_t and + ec_pdo_entry_info_t. Pdo entries, that are mapped with these functions + can now immediately be registered, even if the bus is offline. - Renamed ec_bus_status_t, ec_master_status_t to ec_bus_state_t and ec_master_state_t, respectively. Renamed ecrt_master_get_status() to ecrt_master_state(), for consistency reasons. @@ -42,17 +43,31 @@ Changes in version 1.4.0: renamed ec_pdo_reg_t to ec_pdo_entry_reg_t and ecrt_domain_register_pdo() to ecrt_slave_config_reg_pdo_entry(). - Removed ecrt_domain_register_pdo_range(), because it's functionality can - be reached by specifying an explicit Pdo mapping and registering those - Pdo entries. + be reached by specifying an explicit Pdo assignment/mapping and + registering the mapped Pdo entries. - Added an Sdo access interface, working with Sdo requests. These can be scheduled for reading and writing during realtime operation. - - Exported ecrt_slave_config_sdo(), the generic Sdo configuration - function. + - Exported ecrt_slave_config_sdo(), the generic Sdo configuration function. - Removed the bus_state and bus_tainted flags from ec_master_state_t. * Device interface changes: - Moved device output parameter of ecdev_offer() to return value. -* Replaces the Sysfs interface with a new 'ethercat' command-line tool. See - 'ethercat --help'. +* Replaced the Sysfs interface with a new 'ethercat' command-line tool. See + 'ethercat --help'. The tool is able to + - Write alias addresses. + - Show the bus configuration. + - Output binary domain process data. + - Set the master's debug level. + - Show domain information. + - Show master information. + - List Pdo assignment/mapping. + - Write an Sdo entry. + - List Sdo dictionaries. + - Read an Sdo entry. + - Output a slave's SII contents. + - Write slave's SII contents. + - Show slaves. + - Request slave states. + - Generate slave information xmls. * Removed include/ecdb.h. * Sdo dictionaries will now also be fetched in operation mode. * SII write requests will now also be processed in operation mode. @@ -85,9 +100,8 @@ Changes in version 1.4.0: 'Flags' from general category in slave info file. * Added MODPROBE_FLAGS variable in start script and sysconfig file. * Implemented missing datagram types. +* Changed all occurrences of 'EEPROM' to 'SII' * Allow multiple sync manager categories in SII. -* Changed all occurrences of 'EEPROM' to 'SII', renamed the eeprom sysfs file - to sii, in particular. ------------------------------------------------------------------------------- diff --git a/include/ecrt.h b/include/ecrt.h index 007ae90d..dc260602 100644 --- a/include/ecrt.h +++ b/include/ecrt.h @@ -44,8 +44,8 @@ * * Changes in Version 1.4: * - * - Replaced ec_slave_t with ec_slave_config_t, separating the slave objects - * from the requested bus configuration. Therefore, renamed + * - Replaced ec_slave_t with ec_slave_config_t, separating the bus + * configuration from the actual slaves. Therefore, renamed * ecrt_master_get_slave() to ecrt_master_slave_config(). * - Replaced slave address string with alias and position values. See * ecrt_master_slave_config(). @@ -73,7 +73,7 @@ * - Renamed ec_bus_status_t, ec_master_status_t to ec_bus_state_t and * ec_master_state_t, respectively. Renamed ecrt_master_get_status() to * ecrt_master_state(), for consistency reasons. - * - Added ec_domain_state_t and ec_wc_state_t for a new output parameter + * - Added ec_domain_state_t and #ec_wc_state_t for a new output parameter * of ecrt_domain_state(). The domain state object does now contain * information, if the process data was exchanged completely. * - Former "Pdo registration" meant Pdo entry registration in fact, therefore @@ -272,7 +272,9 @@ typedef struct { * ecrt_slave_config_pdos(). */ typedef struct { - uint8_t index; /**< Sync manager index. */ + uint8_t index; /**< Sync manager index. Must be less + than #EC_MAX_SYNC_MANAGERS for a valid sync manager, + but can also be \a 0xff to mark the end of the list. */ ec_direction_t dir; /**< Sync manager direction. */ unsigned int n_pdos; /**< Number of Pdos in \a pdos. */ ec_pdo_info_t *pdos; /**< Array with Pdos to assign. This must contain @@ -458,7 +460,7 @@ void ecrt_master_state( */ int ecrt_slave_config_sync_manager( ec_slave_config_t *sc, /**< Slave configuration. */ - uint8_t sync_index, /**< Sync manager index. Must ba less + uint8_t sync_index, /**< Sync manager index. Must be less than #EC_MAX_SYNC_MANAGERS. */ ec_direction_t dir /**< Input/Output. */ ); @@ -470,7 +472,8 @@ int ecrt_slave_config_sync_manager( */ int ecrt_slave_config_pdo_assign_add( ec_slave_config_t *sc, /**< Slave configuration. */ - uint8_t sync_index, /**< Sync manager index. */ + uint8_t sync_index, /**< Sync manager index. Must be less + than #EC_MAX_SYNC_MANAGERS. */ uint16_t index /**< Index of the Pdo to assign. */ ); @@ -484,7 +487,8 @@ int ecrt_slave_config_pdo_assign_add( */ void ecrt_slave_config_pdo_assign_clear( ec_slave_config_t *sc, /**< Slave configuration. */ - uint8_t sync_index /**< Sync manager index. */ + uint8_t sync_index /**< Sync manager index. Must be less + than #EC_MAX_SYNC_MANAGERS. */ ); /** Add a Pdo entry to the given Pdo's mapping.