# HG changeset patch # User greg # Date 1232357278 -3600 # Node ID c171e11707c5df14cfea5384afe70d83086322e7 # Parent 0a30e161d63c5ce9745e59c818cb6c5c1ca9963c Second time, Re-write doxygen tags in headers files to generate User API documentation diff -r 0a30e161d63c -r c171e11707c5 doc/doxygen/Doxyfile --- a/doc/doxygen/Doxyfile Sat Jan 17 17:25:58 2009 +0100 +++ b/doc/doxygen/Doxyfile Mon Jan 19 10:27:58 2009 +0100 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 3 +PROJECT_NUMBER = 3.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -544,7 +544,7 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = ../../include +INPUT = ../../include ../../src ../../drivers # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff -r 0a30e161d63c -r c171e11707c5 include/emcy.h --- a/include/emcy.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/emcy.h Mon Jan 19 10:27:58 2009 +0100 @@ -30,6 +30,11 @@ ** */ +/** @defgroup emcyo Emergency Object + * Emergency Object is used to communicate device and application failures. + * @ingroup comobj + */ + #ifndef __emcy_h__ #define __emcy_h__ diff -r 0a30e161d63c -r c171e11707c5 include/lifegrd.h --- a/include/lifegrd.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/lifegrd.h Mon Jan 19 10:27:58 2009 +0100 @@ -20,6 +20,14 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/** @defgroup heartbeato Heartbeat Object + * The heartbeat mechanism for a device is established through cyclically transmitting a message by a + * heartbeat producer. One or more devices in the network are aware of this heartbeat message. If the + * heartbeat cycle fails for the heartbeat producer the local application on the heartbeat consumer will be + * informed about that event. + * @ingroup comobj + */ + #ifndef __lifegrd_h__ #define __lifegrd_h__ @@ -39,6 +47,7 @@ *************************************************************************/ /** + * @ingroup statemachine * @brief To read the state of a node * This can be used by the master after having sent a life guard request, * of by any node if it is waiting for heartbeat. diff -r 0a30e161d63c -r c171e11707c5 include/lss.h --- a/include/lss.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/lss.h Mon Jan 19 10:27:58 2009 +0100 @@ -20,7 +20,14 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/** @defgroup lss Layer setting Object +/** @defgroup lss Layer Setting Services Object + * @brief LSS offers the possibility to inquire and change the settings of certain parameters of the local layers on + * a CANopen module with LSS Slave capabilities by a CANopen module with LSS Master capabilities via the + * CAN Network. + * The following parameters can be inquired and/or changed by the use of LSS: + * - Node-ID of the CANopen Slave + * - Bit timing parameters of the physical layer (baud rate) + * - LSS address (/2/ Identity Object, Index 1018H) * @ingroup comobj */ @@ -198,26 +205,39 @@ */ //UNS8 configNetworkNode(CO_Data* d, UNS8 command, void *dat1, void* dat2); -/** Used by the Master application to send a LSS command, WITH response, to the slave. - * The function Callback, which must be defined in the user code, is called at the +/** + * @ingroup lss + * @brief Used by the Master application to send a LSS command, WITH response, to the slave. + * @param *d Pointer on a CAN object data structure + * @param command + * @param *dat1 + * @param *dat2 + * @param Callback The function Callback, which must be defined in the user code, is called at the * end of the exchange (on succes or abort) and can be NULL. + * @return sendLSS(d,command,dat1,dat2) * The LSS_MSG_TIMER timer is started to control the timeout - * return sendLSS(d,command,dat1,dat2) */ UNS8 configNetworkNode (CO_Data* d, UNS8 command, void *dat1, void* dat2, LSSCallback_t Callback); -/** Use this function after a configNetworkNode or configNetworkNodeCallBack to get the result. - Returns : LSS_RESET // Transmission not started. Init state. - LSS_FINISHED // data are available - LSS_ABORTED_INTERNAL // Aborted but not because of an abort message. - LSS_TRANS_IN_PROGRESS // Data not yet available - - * command: the LSS command (unused). - * example: - * UNS32 dat1; - * UNS8 dat2; - res=configNetworkNodeCallBack(&_Data,LSS_INQ_NODE_ID,0,0,NULL); // inquire the nodeID - while (getConfigResultNetworkNode (&_Data, LSS_INQ_NODE_ID, &dat1, &dat2) != LSS_TRANS_IN_PROGRESS); +/** + * @ingroup lss + * @brief Use this function after a configNetworkNode or configNetworkNodeCallBack to get the result. + * @param *d Pointer on a CAN object data structure + * @param command The LSS command (unused). + * @param *dat1 + * @param *dat2 + * @return : + * - LSS_RESET // Transmission not started. Init state. + * - LSS_FINISHED // data are available + * - LSS_ABORTED_INTERNAL // Aborted but not because of an abort message. + * - LSS_TRANS_IN_PROGRESS // Data not yet available + * @code + * example: + * UNS32 dat1; + * UNS8 dat2; + * res=configNetworkNodeCallBack(&_Data,LSS_INQ_NODE_ID,0,0,NULL); // inquire the nodeID + * while (getConfigResultNetworkNode (&_Data, LSS_INQ_NODE_ID, &dat1, &dat2) != LSS_TRANS_IN_PROGRESS); + * @endcode */ UNS8 getConfigResultNetworkNode (CO_Data* d, UNS8 command, UNS32* dat1, UNS8* dat2); diff -r 0a30e161d63c -r c171e11707c5 include/nmtMaster.h --- a/include/nmtMaster.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/nmtMaster.h Mon Jan 19 10:27:58 2009 +0100 @@ -24,6 +24,7 @@ * @ingroup userapi */ /** @defgroup nmtmaster NMT Master + * @brief NMT master provides mechanisms that control and monitor the state of nodes and their behavior in the network. * @ingroup networkmanagement */ @@ -48,7 +49,7 @@ * - initialisation ---> pre-operational (Automatic transition) * - pre-operational <--> operational * - pre-operational <--> stopped - * - pre-operational, operational, stopped -> initialisation + * - pre-operational, operational, stopped -> initialisation\n * @param *d Pointer on a CAN object data structure * @param Node_ID Id of the slave node * @param cs State changement diff -r 0a30e161d63c -r c171e11707c5 include/nmtSlave.h --- a/include/nmtSlave.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/nmtSlave.h Mon Jan 19 10:27:58 2009 +0100 @@ -21,6 +21,7 @@ */ /** @defgroup nmtslave NMT Slave + * @brief The NMT Slave methods are called automatically when a NMT message from Master are received. * @ingroup networkmanagement */ @@ -31,7 +32,6 @@ #include "data.h" /** - * @ingroup nmtslave * @brief Threat the reception of a NMT message from the master * bus_id is hardware dependant * @param *d Pointer on the CAN data structure @@ -43,7 +43,6 @@ void proceedNMTstateChange (CO_Data* d, Message * m); /** - * @ingroup nmtslave * @brief Transmit the boot-Up frame when the slave is moving from initialization * state to pre_operational state. * bus_id is hardware dependant diff -r 0a30e161d63c -r c171e11707c5 include/objacces.h --- a/include/objacces.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/objacces.h Mon Jan 19 10:27:58 2009 +0100 @@ -32,6 +32,7 @@ */ /** @defgroup od Object Dictionary Management + * @brief The Object Dictionary is the heart of each CANopen device containing all communication and application objects. * @ingroup userapi */ diff -r 0a30e161d63c -r c171e11707c5 include/pdo.h --- a/include/pdo.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/pdo.h Mon Jan 19 10:27:58 2009 +0100 @@ -65,8 +65,7 @@ #define TRANS_EVENT_SPECIFIC 254 /* Transmission on event */ #define TRANS_EVENT_PROFILE 255 /* Transmission on event */ -/** - * @ingroup pdo +/** * @brief Copy all the data to transmit in process_var * Prepare the PDO defined at index to be sent * *pwCobId : returns the value of the cobid. (subindex 1) @@ -97,8 +96,7 @@ */ UNS8 proceedPDO (CO_Data* d, Message *m); -/** - * @ingroup pdo +/** * @brief Used by the application to signal changes in process data * that could be mapped to some TPDO. * This do not necessarily imply PDO emission. @@ -118,14 +116,12 @@ UNS8 _sendPDOevent(CO_Data* d, UNS8 isSyncEvent); /** - * @ingroup pdo * @brief Initialize PDO feature * @param *d Pointer on a CAN object data structure */ void PDOInit(CO_Data* d); /** - * @ingroup pdo * @brief Stop PDO feature * @param *d Pointer on a CAN object data structure */ diff -r 0a30e161d63c -r c171e11707c5 include/sdo.h --- a/include/sdo.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/sdo.h Mon Jan 19 10:27:58 2009 +0100 @@ -324,7 +324,9 @@ * @param dataType (defined in objdictdef.h) : put "visible_string" for strings, 0 for integers or reals or other value. * @param *data Pointer on data * @param Callback Callback function - * @param endianize + * @param endianize When not 0, data is endianized into network byte order + * when 0, data is not endianized and copied in machine native + * endianness * @return 0xFF if error, else return 0 */ UNS8 writeNetworkDictCallBackAI (CO_Data* d, UNS8 nodeId, UNS16 index, @@ -389,12 +391,13 @@ * - SDO_ABORTED_INTERNAL // Transfert failed. Internal abort. * - SDO_UPLOAD_IN_PROGRESS // Data not yet available * - SDO_DOWNLOAD_IN_PROGRESS // Should not arrive ! - * + * @code * example : * UNS32 data; * UNS8 size; * readNetworkDict(0, 0x05, 0x1016, 1, 0) // get the data index 1016 subindex 1 of node 5 * while (getReadResultNetworkDict (0, 0x05, &data, &size) != SDO_UPLOAD_IN_PROGRESS); + * @endcode */ UNS8 getReadResultNetworkDict (CO_Data* d, UNS8 nodeId, void* data, UNS8 *size, UNS32 * abortCode); @@ -412,12 +415,14 @@ * - SDO_DOWNLOAD_IN_PROGRESS // Data not yet available * - SDO_UPLOAD_IN_PROGRESS // Should not arrive ! * + * @code * example : * UNS32 data = 0x50; * UNS8 size; * UNS32 abortCode; * writeNetworkDict(0, 0x05, 0x1016, 1, size, &data) // write the data index 1016 subindex 1 of node 5 * while (getWriteResultNetworkDict (0, 0x05, &abortCode) != SDO_DOWNLOAD_IN_PROGRESS); + * @endcode */ UNS8 getWriteResultNetworkDict (CO_Data* d, UNS8 nodeId, UNS32 * abortCode); diff -r 0a30e161d63c -r c171e11707c5 include/states.h --- a/include/states.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/states.h Mon Jan 19 10:27:58 2009 +0100 @@ -62,7 +62,7 @@ /** * @brief Function that user app can overload - * + * @ingroup statemachine */ typedef void (*initialisation_t)(CO_Data*); typedef void (*preOperational_t)(CO_Data*); diff -r 0a30e161d63c -r c171e11707c5 include/sync.h --- a/include/sync.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/sync.h Mon Jan 19 10:27:58 2009 +0100 @@ -22,7 +22,7 @@ /** @defgroup synco Synchronisation Object * SYNC object is a CANopen message forcing the receiving nodes to sample the inputs mapped into synchronous TPDOS. - * Receiving this message causse the node to set the outputs to values received in the previous synchronous RPDO. + * Receiving this message cause the node to set the outputs to values received in the previous synchronous RPDO. * @ingroup comobj */ @@ -40,7 +40,6 @@ void _post_TPDO(CO_Data* d); /** - * @ingroup synco * @brief Transmit a SYNC message and trigger sync TPDOs * @param *d Pointer on a CAN object data structure * @return @@ -48,7 +47,6 @@ UNS8 sendSYNC (CO_Data* d); /** - * @ingroup synco * @brief Transmit a SYNC message on CAN bus * @param *d Pointer on a CAN object data structure * @return diff -r 0a30e161d63c -r c171e11707c5 include/unix/canfestival.h --- a/include/unix/canfestival.h Sat Jan 17 17:25:58 2009 +0100 +++ b/include/unix/canfestival.h Mon Jan 19 10:27:58 2009 +0100 @@ -44,7 +44,6 @@ LIB_HANDLE LoadCanDriver(const char* driver_name); /** - * @ingroup can * @brief Send a CAN message * @param port CanFestival file descriptor * @param *m The message to send @@ -63,7 +62,7 @@ /** * @ingroup can - * @brief Stop the timer task + * @brief Close a CANopen device * @param *d Pointer on the CAN object data structure * @return 0 if succes */ @@ -71,7 +70,7 @@ /** * @ingroup can - * @brief Stop the timer task + * @brief Change the CANopen device baudrate * @param port CanFestival file descriptor * @param *baud The new baudrate to assign * @return 0 if succes