Updated header docs, features and news file.
authorFlorian Pose <fp@igh-essen.com>
Wed, 02 Jul 2008 14:28:30 +0000
changeset 1083 1322dc34cb37
parent 1082 ff06c58e269c
child 1084 1c0edf99def0
Updated header docs, features and news file.
FEATURES
NEWS
include/ecrt.h
--- a/FEATURES	Wed Jul 02 14:06:10 2008 +0000
+++ b/FEATURES	Wed Jul 02 14:28:30 2008 +0000
@@ -10,8 +10,8 @@
 
 * 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 @@
   - 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 @@
   - 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.
--- a/NEWS	Wed Jul 02 14:06:10 2008 +0000
+++ b/NEWS	Wed Jul 02 14:28:30 2008 +0000
@@ -7,8 +7,8 @@
 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 @@
       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 @@
       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 @@
   '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.
 
 -------------------------------------------------------------------------------
 
--- a/include/ecrt.h	Wed Jul 02 14:06:10 2008 +0000
+++ b/include/ecrt.h	Wed Jul 02 14:28:30 2008 +0000
@@ -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 @@
  * 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 @@
  */
 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_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 @@
  */
 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.