Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CDL_LuFei
Docs
提交
19a47095
D
Docs
项目概览
CDL_LuFei
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
19a47095
编写于
1月 05, 2022
作者:
O
openharmony_ci
提交者:
Gitee
1月 05, 2022
浏览文件
操作
浏览文件
下载
差异文件
!1104 【轻量级 PR】:【驱动】Sensor驱动开发实例中,统一“加速度计传感器”的描述
Merge pull request !1104 from liyan/N/A
上级
09bd3c11
f0a6cd13
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
zh-cn/device-dev/driver/driver-peripherals-sensor-des.md
zh-cn/device-dev/driver/driver-peripherals-sensor-des.md
+10
-10
未找到文件。
zh-cn/device-dev/driver/driver-peripherals-sensor-des.md
浏览文件 @
19a47095
...
...
@@ -8,16 +8,16 @@
## 概述<a name="section3634112111"></a>
Sensor(传感器)驱动模块为上层Sensor服务系统提供稳定的Sensor基础能力API,包括Sensor列表查询、Sensor启停、Sensor订阅及去订阅,Sensor参数配置等功能;基于HDF(
**H**
ardware
**D**
river
**F**
oundation)驱动框架开发的Sensor驱动模型,实现跨操作系统迁移,器件差异配置等功能。Sensor驱动模型如下图1所示:
Sensor(传感器)驱动模块为上层Sensor服务系统提供稳定的Sensor基础能力API,包括Sensor列表查询、Sensor启停、Sensor订阅及去订阅,Sensor参数配置等功能;基于HDF(
Hardware Driver F
oundation)驱动框架开发的Sensor驱动模型,实现跨操作系统迁移,器件差异配置等功能。Sensor驱动模型如下图1所示:
**图 1**
Sensor驱动模型图
<a
name=
"fig10451455446"
></a>
![](
figures/Sensor驱动模型图.png
"Sensor驱动模型图"
)
Sensor驱动模型对外开放的API接口能力如下:
-
提供Sensor HDI(
**H**
ardware
**D**
river
**I**
nterface)能力接口,简化服务开发。
-
提供Sensor驱动模型能力接口:依赖HDF驱动框架实现Sensor器件驱动的注册
,加载,去注册,
器件探测等能力,提供同一类型Sensor器件驱动归一接口, 寄存器配置解析操作接口,总线访问抽象接口,平台抽象接口。
-
提供开发者实现的能力接口:依赖HDF驱动框架的HCS
\(
**H**
DF
**C**
onfiguration
**S**
ource
\)
配置管理,根据同类型Sensor差异化配置,实现Sensor器件参数序列化配置和器件部分操作接口,简化Sensor器件驱动开发。
-
提供Sensor HDI(
Hardware Driver I
nterface)能力接口,简化服务开发。
-
提供Sensor驱动模型能力接口:依赖HDF驱动框架实现Sensor器件驱动的注册
、加载、去注册、
器件探测等能力,提供同一类型Sensor器件驱动归一接口, 寄存器配置解析操作接口,总线访问抽象接口,平台抽象接口。
-
提供开发者实现的能力接口:依赖HDF驱动框架的HCS
(HDF Configuration Source)
配置管理,根据同类型Sensor差异化配置,实现Sensor器件参数序列化配置和器件部分操作接口,简化Sensor器件驱动开发。
## 接口说明<a name="section20930112117478"></a>
...
...
@@ -247,7 +247,7 @@ Sensor驱动模型要求驱动开发者实现的接口功能,参考表3。
## 开发步骤<a name="section1140943382"></a>
Sensor驱动是基于HDF框架、P
LATFORM
和OSAL基础接口进行开发,不区分操作系统和芯片平台,为不同Sensor器件提供统一的驱动模型。本篇开发指导以加速度计传感器为例,介绍传感器驱动开发。
Sensor驱动是基于HDF框架、P
latform
和OSAL基础接口进行开发,不区分操作系统和芯片平台,为不同Sensor器件提供统一的驱动模型。本篇开发指导以加速度计传感器为例,介绍传感器驱动开发。
1.
加速度计传感器驱动注册。HDF驱动框架会提供统一的驱动管理模型,通过加速计传感器模块配置信息,识别并加载对应模块驱动。
2.
加速度计传感器驱动初始化和去初始化。HDF驱动框架通过init入口函数,依次启动传感器设备驱动加载和分配传感器设备数据配置资源。HDF驱动框架通过release函数,释放驱动加载的资源和配置。
...
...
@@ -259,7 +259,7 @@ Sensor驱动是基于HDF框架、PLATFORM和OSAL基础接口进行开发,不
## 开发实例<a name="section257750691"></a>
基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考
[
HDF驱动开发指南
](
driver-hdf-development.md
)
。加速度
传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度
传感器。
基于HDF驱动模型,加载启动加速度计传感器驱动,代码形式如下,具体原理可参考
[
HDF驱动开发指南
](
driver-hdf-development.md
)
。加速度
计传感器选择通讯接口方式为I2C,厂家选择博世BMI160加速度计
传感器。
1.
加速度计传感器驱动入口注册
...
...
@@ -281,7 +281,7 @@ HDF_INIT(g_sensorAccelDevEntry);
-
加速度计传感器设备配置描述
加速度传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考
[
配置管理
](
driver-hdf-manage.md
)
介绍。
加速度
计
传感器模型使用HCS作为配置描述源码,HCS配置字段详细介绍参考
[
配置管理
](
driver-hdf-manage.md
)
介绍。
```
/* 加速度计传感器设备HCS配置 */
...
...
@@ -491,7 +491,7 @@ void ReleaseAccelDriver(struct HdfDeviceObject *device)
加速度计传感器数据配置只需要按照模板配置即可,基于模板配置的解析功能已经在
**InitSensorConfigData**
函数完成,只需初始化时调用即可。如果有新增配置项,需要同步修改此函数。
```
加速度传感器数据配置模板(accel_config.hcs)
加速度
计
传感器数据配置模板(accel_config.hcs)
root {
sensorAccelConfig {
accelChipConfig {
...
...
@@ -529,7 +529,7 @@ root {
root {
sensorAccelConfig {
accel_bmi160_chip_config : accelChipConfig {
match_attr = "hdf_sensor_accel_driver"; /* 需要和加速度传感器设备配置match_attr字段保持一致 */
match_attr = "hdf_sensor_accel_driver"; /* 需要和加速度
计
传感器设备配置match_attr字段保持一致 */
accelInfo :: sensorInfo {
vendorName = "borsh_bmi160";
sensorTypeId = 1;
...
...
@@ -885,7 +885,7 @@ HWTEST_F(HdfSensorTest,TestAccelDriver_001, TestSize.Level0)
{
int32_t sensorInterval = 1000000000; /* 数据采样率单位纳秒 */
int32_t pollTime = 5; /* 数据采样时间单位秒 */
int32_t accelSensorId = 1; /* 加速度传感器类型标识为1 */
int32_t accelSensorId = 1; /* 加速度
计
传感器类型标识为1 */
int32_t count = 0;
int ret;
struct SensorInformation *sensorInfo = nullptr;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录