src.dualinventive.com/dinet/libdi/include/di/can/framing.h

42 lines
1.0 KiB
C
Executable File

/**
* @ingroup can
* @defgroup can_framing Message framing
* @brief Message Framing
* @date Aug 25, 2015
* @author rheijden
* @copyright 2015 Dual Inventive Technology Centre B.V.
*
* descr
* @{
*/
#ifndef INCLUDE_DI_CAN_FRAMING_H_
#define INCLUDE_DI_CAN_FRAMING_H_
#include <di/types.h>
struct di_can_ctx;
struct di_can_msg;
#ifdef __cplusplus
extern "C" {
#endif
/**
* Send CAN message in split frames
* @param ctx CAN context
* @param msg Message to send
* @param transaction_id Transaction ID (fetched with di_can_framing_get_transaction_id)
* @note When message has transfertype DI_CAN_TRANSFERTYPE_REPLY, the transaction_id is parameter is ignored
* @retval DNE_PROTO when the msg->size exceeds DI_CAN_FRAMING_SIZE_MAX
* @retval DNE_PROTO when RT Extended Metadata flag is set and there is no payload
*/
di_errno_t di_can_framing_send(struct di_can_ctx *ctx, const struct di_can_msg *msg, const uint8_t transaction_id);
#ifdef __cplusplus
}
#endif
/** @} */
#endif /* INCLUDE_DI_CAN_FRAMING_H_ */