# HG changeset patch # User Florian Pose # Date 1204635590 0 # Node ID 5b6992df293173dd2db3375da934ed56b4d90d68 # Parent 1f85dbb2f76e141331eb71688abdd14eadaabbc7 Updated docs. diff -r 1f85dbb2f76e -r 5b6992df2931 NEWS --- a/NEWS Tue Mar 04 12:52:54 2008 +0000 +++ b/NEWS Tue Mar 04 12:59:50 2008 +0000 @@ -44,6 +44,8 @@ - Removed ecrt_domain_register_pdo_range(), because it's functionality can be reached by specifying an explicit Pdo mapping and registering those Pdo entries. + - Added an Sdo access interface, working with Sdo requests. These can be + scheduled for reading and writing during realtime operation. * Pdo configuration is now supported. * Current Pdo mapping/configuration is now read via CoE during bus scan, using direct Sdo access, independent of the dictionary. diff -r 1f85dbb2f76e -r 5b6992df2931 TODO --- a/TODO Tue Mar 04 12:52:54 2008 +0000 +++ b/TODO Tue Mar 04 12:59:50 2008 +0000 @@ -8,6 +8,7 @@ Version 1.4.0: +* Slave config allow flag and completion object. * Mailbox handler * READMEs for examples. * Remove get_cycles() calls and references to cpu_khz to increase diff -r 1f85dbb2f76e -r 5b6992df2931 include/ecrt.h --- a/include/ecrt.h Tue Mar 04 12:52:54 2008 +0000 +++ b/include/ecrt.h Tue Mar 04 12:59:50 2008 +0000 @@ -33,9 +33,9 @@ /** \file * - * EtherCAT Real-Time Interface. - * - * \defgroup RealtimeInterface EtherCAT Real-Time Interface + * EtherCAT Realtime Interface. + * + * \defgroup RealtimeInterface EtherCAT Realtime Interface * * EtherCAT interface for realtime modules. This interface is designed for * realtime modules that want to use EtherCAT. There are functions to request @@ -81,6 +81,8 @@ * - Removed ecrt_domain_register_pdo_range(), because it's functionality can * be reached by specifying an explicit Pdo mapping and registering those * Pdo entries. + * - Added an Sdo access interface, working with Sdo requests. These can be + * scheduled for reading and writing during realtime operation. * * @{ */ @@ -102,19 +104,19 @@ * Global definitions *****************************************************************************/ -/** EtherCAT real-time interface major version number. +/** EtherCAT realtime interface major version number. */ #define ECRT_VER_MAJOR 1 -/** EtherCAT real-time interface minor version number. +/** EtherCAT realtime interface minor version number. */ #define ECRT_VER_MINOR 4 -/** EtherCAT real-time interface version word generator. +/** EtherCAT realtime interface version word generator. */ #define ECRT_VERSION(a, b) (((a) << 8) + (b)) -/** EtherCAT real-time interface version word. +/** EtherCAT realtime interface version word. */ #define ECRT_VERSION_MAGIC ECRT_VERSION(ECRT_VER_MAJOR, ECRT_VER_MINOR) @@ -635,6 +637,8 @@ * * If the request cannot be processed in the specified time, if will be marked * as failed. + * + * \todo The timeout functionality is not yet implemented. */ void ecrt_sdo_request_timeout( ec_sdo_request_t *req, /**< Sdo request. */ @@ -643,8 +647,9 @@ /** Access to the Sdo request's data. * - * \attention The return value is invalid during a read operation, because the - * internal Sdo data memory could be re-allocated. + * \attention The return value can be invalid during a read operation, because + * the internal Sdo data memory could be re-allocated if the read Sdo data do + * not fit inside. * * \return Pointer to the internal Sdo data memory. */ @@ -661,16 +666,22 @@ ); /** Schedule an Sdo write operation. + * + * \attention This method may not be called while ecrt_sdo_request_state() + * returns EC_SDO_REQUEST_BUSY. */ void ecrt_sdo_request_write( ec_sdo_request_t *req /**< Sdo request. */ ); -/** Schedule an Sdo read operation . +/** Schedule an Sdo read operation. + * + * \attention This method may not be called while ecrt_sdo_request_state() + * returns EC_SDO_REQUEST_BUSY. * * \attention After calling this function, the return value of - * ecrt_sdo_request_data() will be invalid while ecrt_sdo_request_state() - * returns EC_SDO_REQUEST_BUSY. + * ecrt_sdo_request_data() must be considered as invalid while + * ecrt_sdo_request_state() returns EC_SDO_REQUEST_BUSY. */ void ecrt_sdo_request_read( ec_sdo_request_t *req /**< Sdo request. */