/* * agilex_msg_parser.h * * Created on: Jul 09, 2021 22:04 * Description: * * Copyright (c) 2021 Ruixiang Du (rdu) */ #ifndef AGILEX_MSG_PARSER_H #define AGILEX_MSG_PARSER_H #ifdef __cplusplus extern "C" { #endif #include #include #include #ifdef __linux__ #include #else struct can_frame { uint32_t can_id; uint8_t can_dlc; uint8_t data[8] __attribute__((aligned(8))); }; #endif #include "protocol_v1/agilex_message_v1.h" bool DecodeCanFrameV1(const struct can_frame *rx_frame, AgxMessageV1 *msg); void EncodeCanFrameV1(const AgxMessageV1 *msg, struct can_frame *tx_frame); uint8_t CalcCanFrameChecksumV1(uint16_t id, uint8_t *data, uint8_t dlc); #ifdef __cplusplus } #endif #endif /* AGILEX_MSG_PARSER_H */