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

玄武设备栈:LIN:控制器 更多...

controller.c 的引用(Include)关系图:

浏览源代码.

函数

static xwer_t xwds_linc_vop_probe (struct xwds_linc *linc)
 XWDS VOP:探测LIN控制器
 
static xwer_t xwds_linc_vop_remove (struct xwds_linc *linc)
 XWDS VOP:移除LIN控制器
 
static xwer_t xwds_linc_vop_start (struct xwds_linc *linc)
 XWDS VOP:启动LIN控制器
 
static xwer_t xwds_linc_vop_stop (struct xwds_linc *linc)
 XWDS VOP:停止LIN控制器
 
static xwer_t xwds_linc_vop_suspend (struct xwds_linc *linc)
 XWDS VOP:暂停LIN控制器
 
static xwer_t xwds_linc_vop_resume (struct xwds_linc *linc)
 XWDS VOP:继续LIN控制器
 
void xwds_linc_construct (struct xwds_linc *linc)
 XWDS API:LIN控制器的构造函数
 
void xwds_linc_destruct (struct xwds_linc *linc)
 XWDS API:LIN控制器对象的析构函数
 
xwer_t xwds_linc_grab (struct xwds_linc *linc)
 XWDS API:增加对象的引用计数
 
xwer_t xwds_linc_put (struct xwds_linc *linc)
 XWDS API:减少对象的引用计数
 
xwer_t xwds_linc_msttx (struct xwds_linc *linc, xwu8_t id, struct xwds_lin_msg *msg, xwtm_t to)
 XWDS API:主机节点发送一条LIN消息
 
xwer_t xwds_linc_slvtx (struct xwds_linc *linc, struct xwds_lin_msg *msg, xwtm_t to)
 XWDS API:从机节点发送一条LIN消息
 
xwer_t xwds_linc_rx (struct xwds_linc *linc, struct xwds_lin_msg *msgbuf, xwtm_t to)
 XWDS API:接收一条LIN消息
 
xwer_t xwds_linc_get_msg_size (struct xwds_linc *linc, xwu8_t protected_id, xwu8_t *ret)
 XWDS API:通过LIN保护ID查询消息大小
 

变量

const struct xwds_virtual_operation xwds_linc_vop
 

详细描述

玄武设备栈:LIN:控制器

作者

在文件 controller.c 中定义.

函数说明

◆ xwds_linc_vop_probe()

static xwer_t xwds_linc_vop_probe ( struct xwds_linc linc)
static

XWDS VOP:探测LIN控制器

参数
[in]lincLIN控制器对象指针

<No error

在文件 controller.c88 行定义.

89{
90 xwer_t rc;
91
93 if (rc < 0) {
94 goto err_mtx_init;
95 }
96 if (is_err_or_null(linc->get_msg_size)) {
98 }
99 rc = xwds_device_vop_probe(&linc->dev);
100 if (rc < 0) {
101 goto err_dev_vop_probe;
102 }
103 return XWOK;
104
105err_dev_vop_probe:
106 xwos_mtx_fini(&linc->txlock);
107err_mtx_init:
108 return rc;
109}
xwer_t xwds_device_vop_probe(struct xwds_device *dev)
设备基本操作函数:探测设备
Definition device.c:67
xwer_t xwds_linc_get_msg_size(struct xwds_linc *linc, xwu8_t protected_id, xwu8_t *ret)
XWDS API:通过LIN保护ID查询消息大小
Definition controller.c:301
#define XWOK
No error
Definition errno.h:182
static __xwcc_inline bool __xwcc_must_check is_err_or_null(const void *ptr)
测试指针的值是否为空或错误码(指针是否为无效指针)
Definition error.h:77
signed long xwer_t
Definition type.h:554
static xwer_t xwos_mtx_init(struct xwos_mtx *mtx, xwpr_t sprio)
XWOS API:静态方式初始化互斥锁
Definition mtx.h:111
static xwer_t xwos_mtx_fini(struct xwos_mtx *mtx)
XWOS API:销毁静态方式初始化的互斥锁
Definition mtx.h:126
#define XWOS_SKD_PRIORITY_RT_MIN
XWOS API:最小实时优先级
Definition skd.h:89
struct xwds_device dev
Definition controller.h:108
struct xwos_mtx txlock
Definition controller.h:122
xwer_t(* get_msg_size)(struct xwds_linc *, xwu8_t, xwu8_t *)
Definition controller.h:114
函数调用图:

◆ xwds_linc_vop_remove()

static xwer_t xwds_linc_vop_remove ( struct xwds_linc linc)
static

XWDS VOP:移除LIN控制器

参数
[in]lincLIN控制器对象指针

<No error

在文件 controller.c116 行定义.

117{
118 xwer_t rc;
119
120 rc = xwds_device_vop_remove(&linc->dev);
121 if (rc < 0) {
122 goto err_dev_vop_remove;
123 }
124 xwos_mtx_fini(&linc->txlock);
125 return XWOK;
126
127err_dev_vop_remove:
128 return rc;
129}
xwer_t xwds_device_vop_remove(struct xwds_device *dev)
设备基本操作函数:删除设备
Definition device.c:86
函数调用图:

◆ xwds_linc_vop_resume()

static xwer_t xwds_linc_vop_resume ( struct xwds_linc linc)
static

XWDS VOP:继续LIN控制器

参数
[in]lincLIN控制器对象指针

在文件 controller.c177 行定义.

178{
179 xwer_t rc;
180
181 rc = xwds_device_vop_resume(&linc->dev);
182 return rc;
183}
xwer_t xwds_device_vop_resume(struct xwds_device *dev)
设备基本操作函数:继续设备
Definition device.c:163
函数调用图:

◆ xwds_linc_vop_start()

static xwer_t xwds_linc_vop_start ( struct xwds_linc linc)
static

XWDS VOP:启动LIN控制器

参数
[in]lincLIN控制器对象指针

在文件 controller.c136 行定义.

137{
138 xwer_t rc;
139
140 rc = xwds_device_vop_start(&linc->dev);
141 return rc;
142}
xwer_t xwds_device_vop_start(struct xwds_device *dev)
设备基本操作函数:启动设备
Definition device.c:105
函数调用图:

◆ xwds_linc_vop_stop()

static xwer_t xwds_linc_vop_stop ( struct xwds_linc linc)
static

XWDS VOP:停止LIN控制器

参数
[in]lincLIN控制器对象指针

在文件 controller.c149 行定义.

150{
151 xwer_t rc;
152
153 rc = xwds_device_vop_stop(&linc->dev);
154 return rc;
155}
xwer_t xwds_device_vop_stop(struct xwds_device *dev)
设备基本操作函数:停止设备
Definition device.c:124
函数调用图:

◆ xwds_linc_vop_suspend()

static xwer_t xwds_linc_vop_suspend ( struct xwds_linc linc)
static

XWDS VOP:暂停LIN控制器

参数
[in]lincLIN控制器对象指针

在文件 controller.c164 行定义.

165{
166 xwer_t rc;
167
168 rc = xwds_device_vop_suspend(&linc->dev);
169 return rc;
170}
xwer_t xwds_device_vop_suspend(struct xwds_device *dev)
设备基本操作函数:暂停设备
Definition device.c:144
函数调用图:

变量说明

◆ xwds_linc_vop

const struct xwds_virtual_operation xwds_linc_vop
初始值:
= {
.probe = (void *)xwds_linc_vop_probe,
.remove = (void *)xwds_linc_vop_remove,
.start = (void *)xwds_linc_vop_start,
.stop = (void *)xwds_linc_vop_stop,
.suspend = (void *)xwds_linc_vop_suspend,
.resume = (void *)xwds_linc_vop_resume,
}
static xwer_t xwds_linc_vop_resume(struct xwds_linc *linc)
XWDS VOP:继续LIN控制器
Definition controller.c:177
static xwer_t xwds_linc_vop_remove(struct xwds_linc *linc)
XWDS VOP:移除LIN控制器
Definition controller.c:116
static xwer_t xwds_linc_vop_start(struct xwds_linc *linc)
XWDS VOP:启动LIN控制器
Definition controller.c:136
static xwer_t xwds_linc_vop_suspend(struct xwds_linc *linc)
XWDS VOP:暂停LIN控制器
Definition controller.c:164
static xwer_t xwds_linc_vop_stop(struct xwds_linc *linc)
XWDS VOP:停止LIN控制器
Definition controller.c:149
static xwer_t xwds_linc_vop_probe(struct xwds_linc *linc)
XWDS VOP:探测LIN控制器
Definition controller.c:88

在文件 controller.c45 行定义.