Lely core libraries  2.2.5
rpdo.h
Go to the documentation of this file.
1 
22 #ifndef LELY_CO_RPDO_H_
23 #define LELY_CO_RPDO_H_
24 
25 #include <lely/can/net.h>
26 #include <lely/co/pdo.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
44 typedef void co_rpdo_ind_t(co_rpdo_t *pdo, co_unsigned32_t ac, const void *ptr,
45  size_t n, void *data);
46 
56 typedef void co_rpdo_err_t(co_rpdo_t *pdo, co_unsigned16_t eec,
57  co_unsigned8_t er, void *data);
58 
59 void *__co_rpdo_alloc(void);
60 void __co_rpdo_free(void *ptr);
61 struct __co_rpdo *__co_rpdo_init(struct __co_rpdo *pdo, can_net_t *net,
62  co_dev_t *dev, co_unsigned16_t num);
63 void __co_rpdo_fini(struct __co_rpdo *pdo);
64 
79 co_rpdo_t *co_rpdo_create(can_net_t *net, co_dev_t *dev, co_unsigned16_t num);
80 
82 void co_rpdo_destroy(co_rpdo_t *pdo);
83 
86 
89 
91 co_unsigned16_t co_rpdo_get_num(const co_rpdo_t *pdo);
92 
96 const struct co_pdo_comm_par *co_rpdo_get_comm_par(const co_rpdo_t *pdo);
97 
99 const struct co_pdo_map_par *co_rpdo_get_map_par(const co_rpdo_t *pdo);
100 
112 void co_rpdo_get_ind(const co_rpdo_t *pdo, co_rpdo_ind_t **pind, void **pdata);
113 
124 void co_rpdo_set_ind(co_rpdo_t *pdo, co_rpdo_ind_t *ind, void *data);
125 
137 void co_rpdo_get_err(const co_rpdo_t *pdo, co_rpdo_err_t **perr, void **pdata);
138 
149 void co_rpdo_set_err(co_rpdo_t *pdo, co_rpdo_err_t *err, void *data);
150 
160 int co_rpdo_sync(co_rpdo_t *pdo, co_unsigned8_t cnt);
161 
168 int co_rpdo_rtr(co_rpdo_t *pdo);
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
174 #endif // !LELY_CO_RPDO_H_
co_rpdo_get_ind
void co_rpdo_get_ind(const co_rpdo_t *pdo, co_rpdo_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a Receive-PDO error occurs.
Definition: rpdo.c:350
co_rpdo_ind_t
void co_rpdo_ind_t(co_rpdo_t *pdo, co_unsigned32_t ac, const void *ptr, size_t n, void *data)
The type of a CANopen Receive-PDO indication function, invoked when a PDO is received or an error occ...
Definition: rpdo.h:44
co_rpdo_get_net
can_net_t * co_rpdo_get_net(const co_rpdo_t *pdo)
Returns a pointer to the CAN network of a Receive-PDO.
Definition: rpdo.c:310
co_pdo_comm_par
A PDO communication parameter record.
Definition: pdo.h:43
co_rpdo_sync
int co_rpdo_sync(co_rpdo_t *pdo, co_unsigned8_t cnt)
Triggers the actuation of a received synchronous PDO.
Definition: rpdo.c:411
__co_rpdo
A CANopen Receive-PDO.
Definition: rpdo.c:41
__co_rpdo::num
co_unsigned16_t num
The PDO number.
Definition: rpdo.c:47
co_rpdo_err_t
void co_rpdo_err_t(co_rpdo_t *pdo, co_unsigned16_t eec, co_unsigned8_t er, void *data)
The type of a CANopen Receive-PDO error handling function, invoked in case of a timeout or length mis...
Definition: rpdo.h:56
co_rpdo_get_map_par
const struct co_pdo_map_par * co_rpdo_get_map_par(const co_rpdo_t *pdo)
Returns a pointer to the PDO mapping parameter record of a Receive-PDO.
Definition: rpdo.c:342
co_rpdo_get_num
co_unsigned16_t co_rpdo_get_num(const co_rpdo_t *pdo)
Returns the PDO number of a Receive-PDO.
Definition: rpdo.c:326
co_rpdo_get_err
void co_rpdo_get_err(const co_rpdo_t *pdo, co_rpdo_err_t **perr, void **pdata)
Retrieves the error handling function of a Receive-PDO service.
Definition: rpdo.c:370
__co_dev
A CANopen device.
Definition: dev.c:41
co_rpdo_rtr
int co_rpdo_rtr(co_rpdo_t *pdo)
Requests the transmission of a PDO.
Definition: rpdo.c:390
co_rpdo_set_ind
void co_rpdo_set_ind(co_rpdo_t *pdo, co_rpdo_ind_t *ind, void *data)
Sets the indication function invoked when a Receive-PDO error occurs.
Definition: rpdo.c:361
co_rpdo_destroy
void co_rpdo_destroy(co_rpdo_t *pdo)
Destroys a CANopen Receive-PDO service.
Definition: rpdo.c:300
co_rpdo_get_comm_par
const struct co_pdo_comm_par * co_rpdo_get_comm_par(const co_rpdo_t *pdo)
Returns a pointer to the PDO communication parameter record of a Receive-PDO.
Definition: rpdo.c:334
pdo.h
co_rpdo_set_err
void co_rpdo_set_err(co_rpdo_t *pdo, co_rpdo_err_t *err, void *data)
Sets the error handling function of a Receive-PDO service.
Definition: rpdo.c:381
co_rpdo_get_dev
co_dev_t * co_rpdo_get_dev(const co_rpdo_t *pdo)
Returns a pointer to the CANopen device of a Receive-PDO.
Definition: rpdo.c:318
__co_rpdo::dev
co_dev_t * dev
A pointer to a CANopen device.
Definition: rpdo.c:45
net.h
co_pdo_map_par
A PDO mapping parameter record.
Definition: pdo.h:69
__can_net
A CAN network interface.
Definition: net.c:37
co_rpdo_create
co_rpdo_t * co_rpdo_create(can_net_t *net, co_dev_t *dev, co_unsigned16_t num)
Creates a new CANopen Receive-PDO service.
Definition: rpdo.c:273
__co_rpdo::net
can_net_t * net
A pointer to a CAN network interface.
Definition: rpdo.c:43