XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
transceiver.c 文件参考

玄武设备栈:CAN:总线接收器 更多...

#include <xwcd/ds/standard.h>
#include <string.h>
#include <xwos/lib/xwlog.h>
#include <xwos/lib/xwaop.h>
#include <xwcd/ds/can/transceiver.h>
transceiver.c 的引用(Include)关系图:

浏览源代码.

函数

static xwer_t xwds_cantrcv_vop_probe (struct xwds_cantrcv *cantrcv)
 XWDS VOP:探测CAN接收器
 
static xwer_t xwds_cantrcv_vop_remove (struct xwds_cantrcv *cantrcv)
 XWDS VOP:移除CAN接收器
 
static xwer_t xwds_cantrcv_vop_start (struct xwds_cantrcv *cantrcv)
 XWDS VOP:启动CAN接收器
 
static xwer_t xwds_cantrcv_vop_stop (struct xwds_cantrcv *cantrcv)
 XWDS VOP:停止CAN接收器
 
static xwer_t xwds_cantrcv_vop_suspend (struct xwds_cantrcv *cantrcv)
 XWDS VOP:暂停CAN接收器
 
static xwer_t xwds_cantrcv_vop_resume (struct xwds_cantrcv *cantrcv)
 XWDS VOP:继续CAN接收器
 
void xwds_cantrcv_construct (struct xwds_cantrcv *cantrcv)
 XWDS API:CAN接收器的构造函数
 
void xwds_cantrcv_destruct (struct xwds_cantrcv *cantrcv)
 XWDS API:CAN接收器对象的析构函数
 
xwer_t xwds_cantrcv_grab (struct xwds_cantrcv *cantrcv)
 XWDS API:增加对象的引用计数
 
xwer_t xwds_cantrcv_put (struct xwds_cantrcv *cantrcv)
 XWDS API:减少对象的引用计数
 
xwer_t xwds_cantrcv_set_opmode (struct xwds_cantrcv *cantrcv, xwsq_t opmode)
 XWDS API:设置CAN接收器的运行模式
 
void xwds_cantrcv_get_opmode (struct xwds_cantrcv *cantrcv, xwsq_t *opmode)
 XWDS API:设置CAN接收器的模式
 
xwer_t xwds_cantrcv_enable_wkup (struct xwds_cantrcv *cantrcv)
 XWDS API:开启CAN接收器的唤醒
 
xwer_t xwds_cantrcv_disable_wkup (struct xwds_cantrcv *cantrcv)
 XWDS API:关闭CAN接收器的唤醒
 
void xwds_cantrcv_set_wkup_isr (struct xwds_cantrcv *cantrcv, xwds_cantrcv_wkup_isr_f isr)
 XWDS API:设置唤醒中断的回调函数
 
void xwds_cantrcv_get_wkuprs (struct xwds_cantrcv *cantrcv, xwsq_t *wkuprs)
 XWDS API:获取CAN接收器的唤醒原因
 
void xwds_cantrcv_clear_wkuprs (struct xwds_cantrcv *cantrcv)
 XWDS API:清除CAN接收器的唤醒原因
 
void xwds_cantrcv_drvcb_wakeup_notification (struct xwds_cantrcv *cantrcv)
 CAN接收器回调函数:CAN接收器的唤醒通知
 

变量

const struct xwds_virtual_operation xwds_cantrcv_vop
 

详细描述

玄武设备栈:CAN:总线接收器

作者

在文件 transceiver.c 中定义.

函数说明

◆ xwds_cantrcv_vop_probe()

static xwer_t xwds_cantrcv_vop_probe ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:探测CAN接收器

参数
[in]cantrcvCAN接收器对象指针

在文件 transceiver.c90 行定义.

91{
92 xwer_t rc;
93
94 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
95 XWDS_VALIDATE(cantrcv->cfg, "nullptr", -EFAULT);
96
97 rc = xwds_device_vop_probe(&cantrcv->bc.dev);
98 return rc;
99}
xwer_t xwds_device_vop_probe(struct xwds_device *dev)
设备基本操作函数:探测设备
Definition device.c:67
#define XWDS_VALIDATE(exp, errstr,...)
Definition standard.h:51
#define EFAULT
Bad address
Definition errno.h:44
signed long xwer_t
Definition type.h:554
union xwds_cantrcv::@16 bc
struct xwds_device dev
const struct xwds_cantrcv_cfg * cfg
函数调用图:

◆ xwds_cantrcv_vop_remove()

static xwer_t xwds_cantrcv_vop_remove ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:移除CAN接收器

参数
[in]cantrcvCAN接收器对象指针

在文件 transceiver.c106 行定义.

107{
108 xwer_t rc;
109
110 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
111 XWDS_VALIDATE(cantrcv->cfg, "nullptr", -EFAULT);
112
113 rc = xwds_device_vop_remove(&cantrcv->bc.dev);
114 return rc;
115}
xwer_t xwds_device_vop_remove(struct xwds_device *dev)
设备基本操作函数:删除设备
Definition device.c:86
函数调用图:

◆ xwds_cantrcv_vop_resume()

static xwer_t xwds_cantrcv_vop_resume ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:继续CAN接收器

参数
[in]cantrcvCAN接收器对象指针

在文件 transceiver.c183 行定义.

184{
185 xwer_t rc;
186
187 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
188
189 rc = xwds_device_vop_resume(&cantrcv->bc.dev);
190 return rc;
191}
xwer_t xwds_device_vop_resume(struct xwds_device *dev)
设备基本操作函数:继续设备
Definition device.c:163
函数调用图:

◆ xwds_cantrcv_vop_start()

static xwer_t xwds_cantrcv_vop_start ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:启动CAN接收器

参数
[in]cantrcvCAN接收器对象指针

<No error

在文件 transceiver.c122 行定义.

123{
124 xwer_t rc;
125
126 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
127 XWDS_VALIDATE(cantrcv->cfg, "nullptr", -EFAULT);
128
129 rc = xwds_device_vop_start(&cantrcv->bc.dev);
130 if (rc < 0) {
131 goto err_dev_vop_start;
132 }
134 rc = xwds_cantrcv_set_opmode(cantrcv, cantrcv->cfg->init_opmode);
135 if (rc < 0) {
136 goto err_set_opmode;
137 }
138 return XWOK;
139
140err_set_opmode:
141 xwds_device_vop_stop(&cantrcv->bc.dev);
142err_dev_vop_start:
143 return rc;
144}
xwer_t xwds_cantrcv_set_opmode(struct xwds_cantrcv *cantrcv, xwsq_t opmode)
XWDS API:设置CAN接收器的运行模式
@ XWDS_CANTRCV_WKUPRS_NONE
Definition transceiver.h:51
xwer_t xwds_device_vop_start(struct xwds_device *dev)
设备基本操作函数:启动设备
Definition device.c:105
xwer_t xwds_device_vop_stop(struct xwds_device *dev)
设备基本操作函数:停止设备
Definition device.c:124
#define XWOK
No error
Definition errno.h:182
函数调用图:

◆ xwds_cantrcv_vop_stop()

static xwer_t xwds_cantrcv_vop_stop ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:停止CAN接收器

参数
[in]cantrcvCAN接收器对象指针

在文件 transceiver.c151 行定义.

152{
153 xwer_t rc;
154
155 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
156
157 rc = xwds_device_vop_stop(&cantrcv->bc.dev);
158 return rc;
159}
函数调用图:

◆ xwds_cantrcv_vop_suspend()

static xwer_t xwds_cantrcv_vop_suspend ( struct xwds_cantrcv cantrcv)
static

XWDS VOP:暂停CAN接收器

参数
[in]cantrcvCAN接收器对象指针

在文件 transceiver.c168 行定义.

169{
170 xwer_t rc;
171
172 XWDS_VALIDATE(cantrcv, "nullptr", -EFAULT);
173
174 rc = xwds_device_vop_suspend(&cantrcv->bc.dev);
175 return rc;
176}
xwer_t xwds_device_vop_suspend(struct xwds_device *dev)
设备基本操作函数:暂停设备
Definition device.c:144
函数调用图:

变量说明

◆ xwds_cantrcv_vop

const struct xwds_virtual_operation xwds_cantrcv_vop
初始值:
= {
.probe = (void *)xwds_cantrcv_vop_probe,
.remove = (void *)xwds_cantrcv_vop_remove,
.start = (void *)xwds_cantrcv_vop_start,
.stop = (void *)xwds_cantrcv_vop_stop,
.suspend = (void *)xwds_cantrcv_vop_suspend,
.resume = (void *)xwds_cantrcv_vop_resume,
}
static xwer_t xwds_cantrcv_vop_stop(struct xwds_cantrcv *cantrcv)
XWDS VOP:停止CAN接收器
static xwer_t xwds_cantrcv_vop_start(struct xwds_cantrcv *cantrcv)
XWDS VOP:启动CAN接收器
static xwer_t xwds_cantrcv_vop_remove(struct xwds_cantrcv *cantrcv)
XWDS VOP:移除CAN接收器
static xwer_t xwds_cantrcv_vop_suspend(struct xwds_cantrcv *cantrcv)
XWDS VOP:暂停CAN接收器
static xwer_t xwds_cantrcv_vop_resume(struct xwds_cantrcv *cantrcv)
XWDS VOP:继续CAN接收器
static xwer_t xwds_cantrcv_vop_probe(struct xwds_cantrcv *cantrcv)
XWDS VOP:探测CAN接收器
Definition transceiver.c:90

在文件 transceiver.c47 行定义.