Lely core libraries 2.3.4
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
29extern "C" {
30#endif
31
44typedef void co_rpdo_ind_t(co_rpdo_t *pdo, co_unsigned32_t ac, const void *ptr,
45 size_t n, void *data);
46
56typedef void co_rpdo_err_t(co_rpdo_t *pdo, co_unsigned16_t eec,
57 co_unsigned8_t er, void *data);
58
59void *__co_rpdo_alloc(void);
60void __co_rpdo_free(void *ptr);
61struct __co_rpdo *__co_rpdo_init(struct __co_rpdo *pdo, can_net_t *net,
62 co_dev_t *dev, co_unsigned16_t num);
63void __co_rpdo_fini(struct __co_rpdo *pdo);
64
81
83void co_rpdo_destroy(co_rpdo_t *pdo);
84
95int co_rpdo_start(co_rpdo_t *pdo);
96
104void co_rpdo_stop(co_rpdo_t *pdo);
105
111int co_rpdo_is_stopped(const co_rpdo_t *pdo);
112
115
118
120co_unsigned16_t co_rpdo_get_num(const co_rpdo_t *pdo);
121
125const struct co_pdo_comm_par *co_rpdo_get_comm_par(const co_rpdo_t *pdo);
126
128const struct co_pdo_map_par *co_rpdo_get_map_par(const co_rpdo_t *pdo);
129
141void co_rpdo_get_ind(const co_rpdo_t *pdo, co_rpdo_ind_t **pind, void **pdata);
142
153void co_rpdo_set_ind(co_rpdo_t *pdo, co_rpdo_ind_t *ind, void *data);
154
166void co_rpdo_get_err(const co_rpdo_t *pdo, co_rpdo_err_t **perr, void **pdata);
167
178void co_rpdo_set_err(co_rpdo_t *pdo, co_rpdo_err_t *err, void *data);
179
189int co_rpdo_sync(co_rpdo_t *pdo, co_unsigned8_t cnt);
190
197int co_rpdo_rtr(co_rpdo_t *pdo);
198
199#ifdef __cplusplus
200}
201#endif
202
203#endif // !LELY_CO_RPDO_H_
This header file is part of the CAN library; it contains the CAN network interface declarations.
This header file is part of the CANopen library; it contains the Process Data Object (PDO) declaratio...
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:452
int co_rpdo_rtr(co_rpdo_t *pdo)
Requests the transmission of a PDO.
Definition rpdo.c:472
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
void co_rpdo_stop(co_rpdo_t *pdo)
Stops a Receive-PDO service.
Definition rpdo.c:356
int co_rpdo_is_stopped(const co_rpdo_t *pdo)
Retuns 1 if the specified Receive-PDO service is stopped, and 0 if not.
Definition rpdo.c:384
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:400
int co_rpdo_sync(co_rpdo_t *pdo, co_unsigned8_t cnt)
Triggers the actuation of a received synchronous PDO.
Definition rpdo.c:493
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:463
void co_rpdo_destroy(co_rpdo_t *pdo)
Destroys a CANopen Receive-PDO service.
Definition rpdo.c:298
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:432
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:392
co_unsigned16_t co_rpdo_get_num(const co_rpdo_t *pdo)
Returns the PDO number of a Receive-PDO.
Definition rpdo.c:408
int co_rpdo_start(co_rpdo_t *pdo)
Starts a Receive-PDO service.
Definition rpdo.c:308
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
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:443
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:424
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:416
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:271
A CAN network interface.
Definition net.c:37
A CANopen device.
Definition dev.h:30
A CANopen Receive-PDO.
Definition rpdo.c:44
can_net_t * net
A pointer to a CAN network interface.
Definition rpdo.c:46
co_unsigned16_t num
The PDO number.
Definition rpdo.c:50
co_dev_t * dev
A pointer to a CANopen device.
Definition rpdo.c:48
A PDO communication parameter record.
Definition pdo.h:64
A PDO mapping parameter record.
Definition pdo.h:90