Lely core libraries 1.9.2
tpdo.h
Go to the documentation of this file.
1
22#ifndef LELY_CO_TPDO_H_
23#define LELY_CO_TPDO_H_
24
25#include <lely/can/net.h>
26#include <lely/co/pdo.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
45typedef void co_tpdo_ind_t(co_tpdo_t *pdo, co_unsigned32_t ac, const void *ptr,
46 size_t n, void *data);
47
48void *__co_tpdo_alloc(void);
49void __co_tpdo_free(void *ptr);
50struct __co_tpdo *__co_tpdo_init(struct __co_tpdo *pdo, can_net_t *net,
51 co_dev_t *dev, co_unsigned16_t num);
52void __co_tpdo_fini(struct __co_tpdo *pdo);
53
69
71void co_tpdo_destroy(co_tpdo_t *pdo);
72
75
78
80co_unsigned16_t co_tpdo_get_num(const co_tpdo_t *pdo);
81
86const struct co_pdo_comm_par *co_tpdo_get_comm_par(const co_tpdo_t *pdo);
87
89const struct co_pdo_map_par *co_tpdo_get_map_par(const co_tpdo_t *pdo);
90
102void co_tpdo_get_ind(const co_tpdo_t *pdo, co_tpdo_ind_t **pind, void **pdata);
103
114void co_tpdo_set_ind(co_tpdo_t *pdo, co_tpdo_ind_t *ind, void *data);
115
125int co_tpdo_event(co_tpdo_t *pdo);
126
138int co_tpdo_sync(co_tpdo_t *pdo, co_unsigned8_t cnt);
139
141void co_tpdo_get_next(const co_tpdo_t *pdo, struct timespec *tp);
142
143#ifdef __cplusplus
144}
145#endif
146
147#endif // !LELY_CO_TPDO_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...
A CAN network interface.
Definition: net.c:37
A CANopen device.
Definition: dev.c:38
A CANopen Transmit-PDO.
Definition: tpdo.c:41
co_unsigned16_t num
The PDO number.
Definition: tpdo.c:47
co_dev_t * dev
A pointer to a CANopen device.
Definition: tpdo.c:45
can_net_t * net
A pointer to a CAN network interface.
Definition: tpdo.c:43
A PDO communication parameter record.
Definition: pdo.h:43
A PDO mapping parameter record.
Definition: pdo.h:69
A time type with nanosecond resolution.
Definition: time.h:83
can_net_t * co_tpdo_get_net(const co_tpdo_t *pdo)
Returns a pointer to the CAN network of a Transmit-PDO.
Definition: tpdo.c:335
int co_tpdo_event(co_tpdo_t *pdo)
Triggers the transmission of an event-driven (asynchronous) PDO.
Definition: tpdo.c:395
void co_tpdo_destroy(co_tpdo_t *pdo)
Destroys a CANopen Transmit-PDO service.
Definition: tpdo.c:325
const struct co_pdo_map_par * co_tpdo_get_map_par(const co_tpdo_t *pdo)
Returns a pointer to the PDO mapping parameter record of a Transmit-PDO.
Definition: tpdo.c:367
const struct co_pdo_comm_par * co_tpdo_get_comm_par(const co_tpdo_t *pdo)
Returns a pointer to the PDO communication parameter record of a Transmit-PDO.
Definition: tpdo.c:359
co_tpdo_t * co_tpdo_create(can_net_t *net, co_dev_t *dev, co_unsigned16_t num)
Creates a new CANopen Transmit-PDO service.
Definition: tpdo.c:298
void co_tpdo_get_next(const co_tpdo_t *pdo, struct timespec *tp)
Retrieves the time at which the next event-driven TPDO may be sent.
Definition: tpdo.c:504
void co_tpdo_get_ind(const co_tpdo_t *pdo, co_tpdo_ind_t **pind, void **pdata)
Retrieves the indication function invoked when a Transmit-PDO error occurs.
Definition: tpdo.c:375
void co_tpdo_ind_t(co_tpdo_t *pdo, co_unsigned32_t ac, const void *ptr, size_t n, void *data)
The type of a CANopen Transmit-PDO indication function, invoked when a PDO is sent or an error occurs...
Definition: tpdo.h:45
void co_tpdo_set_ind(co_tpdo_t *pdo, co_tpdo_ind_t *ind, void *data)
Sets the indication function invoked when a Transmit-PDO error occurs.
Definition: tpdo.c:386
int co_tpdo_sync(co_tpdo_t *pdo, co_unsigned8_t cnt)
Triggers the transmission of a synchronous PDO.
Definition: tpdo.c:436
co_dev_t * co_tpdo_get_dev(const co_tpdo_t *pdo)
Returns a pointer to the CANopen device of a Transmit-PDO.
Definition: tpdo.c:343
co_unsigned16_t co_tpdo_get_num(const co_tpdo_t *pdo)
Returns the PDO number of a Transmit-PDO.
Definition: tpdo.c:351