]> rtime.felk.cvut.cz Git - CanFestival-3.git/blobdiff - include/pdo.h
fixed : deprecation warning with the module "sets" when using python 2.6
[CanFestival-3.git] / include / pdo.h
index 0e615c0daaebbabd60deb04feefd50b0bf0a0c5f..03af28b38e5f103ca86f304b083e8562188b6895 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 pdo Process Data Object (PDO)
+ *  PDO is a communication object defined by the DPO communication parameter and PDA mapping parameter objects.
+ *  It is an uncomfirmed communication service without protocol overhead.
+ *  @ingroup comobj
+ */
 #ifndef __pdo_h__
 #define __pdo_h__
 
@@ -34,6 +40,7 @@ typedef struct struct_s_PDO_status s_PDO_status;
 
 /* Status of the TPDO : */
 #define PDO_INHIBITED 0x01
+#define PDO_RTR_SYNC_READY 0x01
 
 /** The PDO structure */
 struct struct_s_PDO_status {
@@ -43,13 +50,14 @@ struct struct_s_PDO_status {
   Message last_message;
 };
 
-#define s_PDO_staus_Initializer {0, TIMER_NONE, TIMER_NONE, Message_Initializer}
+#define s_PDO_status_Initializer {0, TIMER_NONE, TIMER_NONE, Message_Initializer}
 
 /** definitions of the different types of PDOs' transmission
  * 
  * SYNCHRO(n) means that the PDO will be transmited every n SYNC signal.
  */
 #define TRANS_EVERY_N_SYNC(n) (n) /*n = 1 to 240 */
+#define TRANS_SYNC_ACYCLIC    0    /* Trans after reception of n SYNC. n = 1 to 240 */
 #define TRANS_SYNC_MIN        1    /* Trans after reception of n SYNC. n = 1 to 240 */
 #define TRANS_SYNC_MAX        240  /* Trans after reception of n SYNC. n = 1 to 240 */
 #define TRANS_RTR_SYNC        252  /* Transmission on request */
@@ -57,46 +65,82 @@ struct struct_s_PDO_status {
 #define TRANS_EVENT_SPECIFIC  254  /* Transmission on event */
 #define TRANS_EVENT_PROFILE   255  /* Transmission on event */
 
-/** Prepare the PDO defined at index to be sent 
- * 
- * 
- * 
- * Copy all the data to transmit in process_var
+/** 
+ * @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)
- * Return 0 or 0xFF if error.
+ * @param *d Pointer on a CAN object data structure
+ * @param numPdo The PDO number
+ * @param *pdo Pointer on a CAN message structure
+ * @return 0 or 0xFF if error.
  */
 UNS8 buildPDO(CO_Data* d, UNS8 numPdo, Message *pdo);
 
-/** Transmit a PDO request frame on the bus bus_id
+/** 
+ * @ingroup pdo
+ * @brief Transmit a PDO request frame on the bus bus_id
  * to the slave.
  * bus_id is hardware dependant
- * Returns 0xFF if error, other in success.
+ * @param *d Pointer on a CAN object data structure
+ * @param RPDOIndex Index of the receive PDO
+ * @return 0xFF if error, other in success.
  */
-UNS8 sendPDOrequest (CO_Data* d, UNS32 cobId);
+UNS8 sendPDOrequest( CO_Data* d, UNS16 RPDOIndex );
 
-/** Compute a PDO frame reception
+/**
+ * @brief Compute a PDO frame reception
  * bus_id is hardware dependant
- * return 0xFF if error, else return 0
+ * @param *d Pointer on a CAN object data structure
+ * @param *m Pointer on a CAN message structure
+ * @return 0xFF if error, else return 0
  */
 UNS8 proceedPDO (CO_Data* d, Message *m);
 
-/** Used by the application to signal changes in process data
+/** 
+ * @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.
  * Function iterates on all TPDO and look TPDO transmit 
  * type and content change before sending it.    
+ * @param *d Pointer on a CAN object data structure
  */
 UNS8 sendPDOevent (CO_Data* d);
 
-/** Function iterates on all TPDO and look TPDO transmit 
+/** 
+ * @ingroup pdo
+ * @brief Function iterates on all TPDO and look TPDO transmit 
  * type and content change before sending it.
+ * @param *d Pointer on a CAN object data structure
+ * @param isSyncEvent
  */
 UNS8 _sendPDOevent(CO_Data* d, UNS8 isSyncEvent);
 
-
+/** 
+ * @brief Initialize PDO feature 
+ * @param *d Pointer on a CAN object data structure
+ */
 void PDOInit(CO_Data* d);
+
+/** 
+ * @brief Stop PDO feature 
+ * @param *d Pointer on a CAN object data structure
+ */
 void PDOStop(CO_Data* d);
+
+/** 
+ * @ingroup pdo
+ * @brief Set timer for PDO event
+ * @param *d Pointer on a CAN object data structure
+ * @param pdoNum The PDO number
+ */
 void PDOEventTimerAlarm(CO_Data* d, UNS32 pdoNum);
+
+/** 
+ * @ingroup pdo
+ * @brief Inhibit timer for PDO event
+ * @param *d Pointer on a CAN object data structure
+ * @param pdoNum The PDO number
+ */
 void PDOInhibitTimerAlarm(CO_Data* d, UNS32 pdoNum);
 
 /* copy bit per bit in little endian */