NNP STM Generic Remote Module git-main
Loading...
Searching...
No Matches
pdo.h
Go to the documentation of this file.
1
8#ifndef INC_PDO_H_
9#define INC_PDO_H_
10
11#include "applicfg.h"
12#include "def.h"
13
14
15#include "can.h"
16
18
19
20/* Status of the TPDO : */
21#define PDO_INHIBITED 0x01
22#define PDO_RTR_SYNC_READY 0x01
23
26 UNS8 transmit_type_parameter;
27 TIMER_HANDLE event_timer;
28 TIMER_HANDLE inhibit_timer;
29 Message last_message;
30};
31
32#define s_PDO_status_Initializer {0, TIMER_NONE, TIMER_NONE, Message_Initializer}
33
38#define TRANS_EVERY_N_SYNC(n) (n) /*n = 1 to 240 */
39#define TRANS_SYNC_ACYCLIC 0 /* Trans after reception of n SYNC. n = 1 to 240 */
40#define TRANS_SYNC_MIN 1 /* Trans after reception of n SYNC. n = 1 to 240 */
41#define TRANS_SYNC_MAX 240 /* Trans after reception of n SYNC. n = 1 to 240 */
42#define TRANS_RTR_SYNC 252 /* Transmission on request */
43#define TRANS_RTR 253 /* Transmission on request */
44#define TRANS_EVENT_SPECIFIC 254 /* Transmission on event */
45#define TRANS_EVENT_PROFILE 255 /* Transmission on event */
46
47
48UNS8 buildPDO(CO_Data* d, UNS8 numPdo, Message *pdo);
49UNS8 sendPDOrequest( CO_Data* d, UNS16 RPDOIndex );
52UNS8 _sendPDOevent(CO_Data* d, UNS8 isSyncEvent);
53void PDOInit(CO_Data* d);
54void PDOStop(CO_Data* d);
55void PDOEventTimerAlarm(CO_Data* d, UNS32 pdoNum);
56void PDOInhibitTimerAlarm(CO_Data* d, UNS32 pdoNum);
57void CopyBits(UNS8 NbBits, UNS8* SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8* DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian);
58void sendPdo(CO_Data * d, UNS32 pdoNum, Message * pdo);
59
60#endif /* INC_PDO_H_ */
#define UNS8
Unsigned int8 representation in CANFest.
Definition applicfg.h:25
#define UNS16
Unsigned int16 representation in CANFest.
Definition applicfg.h:26
#define UNS32
Unsigned int32 representation in CANFest.
Definition applicfg.h:27
UNS8 processPDO(CO_Data *d, Message *m)
Compute a PDO frame reception bus_id is hardware dependant.
Definition pdo.c:144
void PDOInit(CO_Data *d)
Initialize PDO feature.
Definition pdo.c:752
void PDOInhibitTimerAlarm(CO_Data *d, UNS32 pdoNum)
Inhibit timer for PDO event.
Definition pdo.c:496
void PDOStop(CO_Data *d)
Stop PDO feature.
Definition pdo.c:790
UNS8 sendPDOrequest(CO_Data *d, UNS16 RPDOIndex)
Transmit a PDO request frame on the network to the slave.
Definition pdo.c:102
UNS8 buildPDO(CO_Data *d, UNS8 numPdo, Message *pdo)
Copy all the data to transmit in process_var Prepare the PDO defined at index to be sent *pwCobId : r...
Definition pdo.c:28
UNS8 _sendPDOevent(CO_Data *d, UNS8 isSyncEvent)
Function iterates on all TPDO and look TPDO transmit type and content change before sending it.
Definition pdo.c:512
UNS8 sendPDOevent(CO_Data *d)
Used by the application to signal changes in process data that could be mapped to some TPDO....
Definition pdo.c:468
void CopyBits(UNS8 NbBits, UNS8 *SrcByteIndex, UNS8 SrcBitIndex, UNS8 SrcBigEndian, UNS8 *DestByteIndex, UNS8 DestBitIndex, UNS8 DestBigEndian)
copy bit per bit in little endian
Definition pdo.c:404
void PDOEventTimerAlarm(CO_Data *d, UNS32 pdoNum)
Set timer for PDO event.
Definition pdo.c:481
void sendPdo(CO_Data *d, UNS32 pdoNum, Message *pdo)
<BRIEF> sendPDO
Definition pdo.c:820
Definition can.h:13
This structure contains all necessary informations to define a CANOpen node.
Definition data.h:44