#ifndef _BSP_CAN_H_
#define _BSP_CAN_H_

#ifdef __cplusplus
extern "C" {
#endif 

#include "drv_can.h"

void bsp_can_async_poll(CanDev dev);
KitResult bsp_can_async_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len, CanIde ide, CanRtr rtr);
KitResult bsp_can_ext_data_async_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len);
KitResult bsp_can_std_data_async_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len);
KitResult bsp_can_ext_data_series_async_send(CanDev dev, uint32_t id, uint32_t add_value, uint8_t *buf, uint16_t len);

KitResult bsp_can_sync_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len, CanIde ide, CanRtr rtr);
KitResult bsp_can_ext_data_sync_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len);
KitResult bsp_can_std_data_sync_send(CanDev dev, uint32_t id, uint8_t *buf, uint8_t len);
KitResult bsp_can_ext_data_series_sync_send(CanDev dev, uint32_t id, uint32_t add_value, uint8_t *buf, uint16_t len);

#ifdef __cplusplus
}
#endif

#endif
