23 #ifndef LELY_CO_RPDO_HPP_
24 #define LELY_CO_RPDO_HPP_
26 #if !defined(__cplusplus) || LELY_NO_CXX
27 #error "include <lely/co/rpdo.h> for the C interface"
46 return __co_rpdo_alloc();
50 free(
void* ptr) noexcept {
56 return __co_rpdo_init(p, net, dev, num);
84 getNet()
const noexcept {
89 getDev()
const noexcept {
94 getNum()
const noexcept {
99 getCommPar()
const noexcept {
104 getMapPar()
const noexcept {
120 setInd(F* f) noexcept {
124 template <class C, typename c_mem_fn<co_rpdo_ind_t*, C>::type M>
126 setInd(C* obj) noexcept {
128 static_cast<void*
>(obj));
143 setErr(F* f) noexcept {
147 template <class C, typename c_mem_fn<co_rpdo_err_t*, C>::type M>
149 setErr(C* obj) noexcept {
151 static_cast<void*
>(obj));
155 sync(co_unsigned8_t cnt) noexcept {
An opaque CAN network interface type.
An opaque CANopen device type.
An opaque CANopen Receive-PDO service type.
The base class for a C++ interface to an incomplete C type.
This header file is part of the CAN library; it contains the C++ interface of the CAN network interfa...
This header file is part of the CANopen library; it contains the Receive-PDO declarations.
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.
int co_rpdo_rtr(co_rpdo_t *pdo)
Requests the transmission of a PDO.
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...
void co_rpdo_stop(co_rpdo_t *pdo)
Stops a Receive-PDO service.
co_dev_t * co_rpdo_get_dev(const co_rpdo_t *pdo)
Returns a pointer to the CANopen device of a Receive-PDO.
int co_rpdo_sync(co_rpdo_t *pdo, co_unsigned8_t cnt)
Triggers the actuation of a received synchronous PDO.
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.
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.
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.
co_unsigned16_t co_rpdo_get_num(const co_rpdo_t *pdo)
Returns the PDO number of a Receive-PDO.
int co_rpdo_start(co_rpdo_t *pdo)
Starts a Receive-PDO service.
can_net_t * co_rpdo_get_net(const co_rpdo_t *pdo)
Returns a pointer to the CAN network of a Receive-PDO.
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...
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.
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.
A PDO communication parameter record.
A PDO mapping parameter record.
A class template supplying a uniform interface to certain attributes of C types.