21#ifndef __xwcd_ds_can_controller_h__
22#define __xwcd_ds_can_controller_h__
43#if defined(XWCDCFG_ds_CAN_CONTROLLER_ROCBT) && (1 == XWCDCFG_ds_CAN_CONTROLLER_ROCBT)
44# define __xwds_canc_cbtbl_qualifier const
46# define __xwds_canc_cbtbl_qualifier
49#define XWDS_CANC_RXQNUM (XWCDCFG_ds_CAN_CONTROLLER_RXQNUM)
50#define XWDS_CANC_SDU_MAXSIZE (XWCDCFG_ds_CAN_CONTROLLER_SDU_MAXSIZE)
217#if (defined(XWCDCFG_ds_I2C_PERIPHERAL) && (1 == XWCDCFG_ds_I2C_PERIPHERAL))
220#if (defined(XWCDCFG_ds_SPI_PERIPHERAL) && (1 == XWCDCFG_ds_SPI_PERIPHERAL))
#define XWDS_CANC_SDU_MAXSIZE
xwer_t xwds_canc_put(struct xwds_canc *canc)
XWDS API:减少对象的引用计数
xwer_t xwds_canc_grab(struct xwds_canc *canc)
XWDS API:增加对象的引用计数
void xwds_canc_drvcb_tx_indication(struct xwds_canc *canc, xwid_t txobjid, xwer_t rc)
XWDS Driver Callback:指示发送结果
void xwds_canc_destruct(struct xwds_canc *canc)
XWDS API:CAN控制器对象的析构函数
void xwds_canc_drvcb_mode_indication(struct xwds_canc *canc, xwsq_t mode)
XWDS Driver Callback:指示CAN控制器的模式已经切换
xwer_t xwds_canc_disable_irqs(struct xwds_canc *canc)
XWDS API:关闭CAN控制器的中断
#define __xwds_canc_cbtbl_qualifier
void xwds_canc_drvcb_busoff_indication(struct xwds_canc *canc)
XWDS Driver Callback:指示CAN控制器发生busoff
xwer_t xwds_canc_set_mode(struct xwds_canc *canc, xwsq_t mode)
XWDS API:设置CAN控制器的模式
xwds_canc_mode_em
CAN控制器的模式
void xwds_canc_drvcb_rx_indication(struct xwds_canc *canc, xwid_t rxobjid, struct xwds_can_msg *rxmsg)
XWDS Driver Callback:接收到CAN消息后的回调函数
void xwds_canc_rxq_publish(struct xwds_canc_rxqueue *rxq, struct xwds_can_msg *msg)
XWDS API:发布一条消息到接收缓冲队列中
xwer_t xwds_canc_write(struct xwds_canc *canc, xwid_t txobjid, struct xwds_can_msg *msg)
XWDS API:将一条CAN消息写入发送邮箱
void xwds_canc_drvcb_err_indication(struct xwds_canc *canc, xwsq_t errcode, xwsq_t tec, xwsq_t rec)
XWDS Driver Callback:指示CAN控制器发生错误
void xwds_canc_setcb_wakeup_notification(struct xwds_canc *canc, void(*cb)(struct xwds_canc *))
XWDS API:设置 唤醒通知 回调函数
void xwds_canc_setcb_err_indication(struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwsq_t, xwsq_t, xwsq_t))
XWDS API:设置 错误通知 回调函数
void xwds_canc_setcb_tx_indication(struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwid_t, xwer_t))
XWDS API:设置 指示发送结果 的回调函数
void xwds_canc_setcb_mode_indication(struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwsq_t))
XWDS API:设置 模式切换通知 回调函数
void xwds_canc_construct(struct xwds_canc *canc)
XWDS API:CAN控制器的构造函数
void xwds_canc_setcb_busoff_indication(struct xwds_canc *canc, void(*cb)(struct xwds_canc *))
XWDS API:设置 BUSOFF通知 回调函数
xwds_canc_hwobj_type_em
CAN对象(消息)类型
xwer_t xwds_canc_enable_irqs(struct xwds_canc *canc)
XWDS API:开启CAN控制器的中断
xwds_canc_err_em
CAN控制器的错误码
void xwds_canc_drvcb_wakeup_notification(struct xwds_canc *canc)
XWDS Driver Callback:CAN控制器的唤醒通知
void xwds_canc_drvcb_init_msg(struct xwds_can_msg *msg, xwu32_t canid, xwsq_t flag, xwsz_t dlc, xwu8_t sdu[])
XWDS Driver Callback:初始化CAN总线消息结构体
xwer_t xwds_canc_set_bd(struct xwds_canc *canc, xwid_t bdcfgid)
XWDS API:设置CAN控制器的波特率
xwds_can_msgflag_em
CAN消息标志枚举
void xwds_canc_rxq_init(struct xwds_canc_rxqueue *rxq)
XWDS API:初始化接收缓冲队列
xwer_t xwds_canc_rxq_acquire(struct xwds_canc_rxqueue *rxq, struct xwds_can_msg *buf, xwtm_t to)
XWDS API:从接收缓冲队列中获取一条消息
void xwds_canc_setcb_rx_indication(struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwid_t, struct xwds_can_msg *))
XWDS API:设置 指示接收结果 的回调函数
@ XWDS_CANC_HWOBJ_T_ID_EXT
@ XWDS_CANC_HWOBJ_T_ID_STD
@ XWDS_CANC_HWOBJ_T_ID_MIXED
xws64_t xwtm_t
XWOS系统时间 (有符号)
struct xwds_canc_bd_cfg::@14 time_seg
void(* rx_indication)(struct xwds_canc *, xwid_t, struct xwds_can_msg *)
void(* wakeup_notification)(struct xwds_canc *)
void(* busoff_indication)(struct xwds_canc *)
void(* err_indication)(struct xwds_canc *, xwsq_t, xwsq_t, xwsq_t)
void(* tx_indication)(struct xwds_canc *, xwid_t, xwer_t)
void(* mode_indication)(struct xwds_canc *, xwsq_t)
const struct xwds_canc_bd_cfg * bdcfgs
const struct xwds_canc_txobj_cfg * txobjs
const struct xwds_canc_rxobj_cfg * rxobjs
xwer_t(* disable_irqs)(struct xwds_canc *)
xwer_t(* set_mode)(struct xwds_canc *, xwsq_t)
xwer_t(* write)(struct xwds_canc *, const struct xwds_canc_txobj_cfg *, struct xwds_can_msg *)
xwer_t(* set_bd)(struct xwds_canc *, const struct xwds_canc_bd_cfg *)
xwer_t(* enable_irqs)(struct xwds_canc *)
xwsz_t soc_hwfilter_cfgs_num
struct xwds_can_msg q[(8U)]
struct xwds_canc_cbtbl * cbtbl
const struct xwds_canc_cfg * cfg