]> rtime.felk.cvut.cz Git - CanFestival-3.git/blobdiff - include/sync.h
Second time, Re-write doxygen tags in headers files to generate User API documentation
[CanFestival-3.git] / include / sync.h
index 12dca74d03c329da5c2924ab7dc22abef8c79f26..241dfbb054dd435bc491710515acfb8251a2cc1a 100644 (file)
@@ -20,6 +20,12 @@ License along with this library; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
+/** @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 cause the node to set the outputs to values received in the previous synchronous RPDO.
+ *  @ingroup comobj
+ */
+                                        
 #ifndef __SYNC_h__
 #define __SYNC_h__
 
@@ -27,33 +33,34 @@ void startSYNC(CO_Data* d);
 
 void stopSYNC(CO_Data* d);
 
-typedef void (*post_sync_t)(void);
-void _post_sync(void);
+typedef void (*post_sync_t)(CO_Data*);
+void _post_sync(CO_Data* d);
+
+typedef void (*post_TPDO_t)(CO_Data*);
+void _post_TPDO(CO_Data* d);
 
-typedef void (*post_TPDO_t)(void);
-void _post_TPDO(void);
+/** 
+ * @brief Transmit a SYNC message and trigger sync TPDOs
+ * @param *d Pointer on a CAN object data structure
+ * @return
+ */
+UNS8 sendSYNC (CO_Data* d);
 
-/** transmit a SYNC message on the bus number bus_id
- * bus_id is hardware dependant
- * return canSend(bus_id,&m)
+/** 
+ * @brief Transmit a SYNC message on CAN bus
+ * @param *d Pointer on a CAN object data structure
+ * @return
  */
-UNS8 sendSYNC (CO_Data* d, UNS32 cob_id);
-
-/** This function is called when the node is receiving a SYNC 
- * message (cob-id = 0x80).
- * What does the function :
- * check if the node is in OERATIONAL mode. (other mode : return 0 but does nothing).
- * Get the SYNC cobId by reading the dictionary index 1005. (Return -1 if it does not correspond 
- * to the cobId received).
- * Scan the dictionary from index 0x1800 to the last PDO defined (dict_cstes.max_count_of_PDO_transmit)
- *   for each PDO whose transmission type is on synchro (transmission type < 241) and if the msg must
- *   be send at this SYNC. read the COBID. Verify that the nodeId inside the 
- *   nodeId correspond to bDeviceNodeId. (Assume that the cobId of a PDO Transmit is made 
- *   with the node id of the node who transmit), get the mapping, launch PDOmGR to send the PDO
- * *m is a pointer to the message received
- * bus_id is hardware dependant
- * return 0 if OK, 0xFF if error
+UNS8 sendSYNCMessage(CO_Data* d);
+
+/** 
+ * @brief This function is called when the node is receiving a SYNC message (cob-id = 0x80).
+ *  - Check if the node is in OERATIONAL mode. (other mode : return 0 but does nothing).
+ *  - Get the SYNC cobId by reading the dictionary index 1005, check it does correspond to the received cobId
+ *  - Trigger sync TPDO emission 
+ * @param *d Pointer on a CAN object data structure
+ * @return 0 if OK, 0xFF if error 
  */
-UNS8 proceedSYNC (CO_Data* d, Message * m);
+UNS8 proceedSYNC (CO_Data* d);
 
 #endif