未验证 提交 4a871ab3 编写于 作者: L liyan 提交者: Gitee

update zh-cn/device-dev/driver/driver-peripherals-sensor-des.md.

Signed-off-by: Nli-yan339 <liyan339@h-partners.com>
上级 85849f82
# SENSOR<a name="ZH-CN_TOPIC_0000001078401780"></a>
- [概述](##概述)
- [功能简介](###功能简介)
- [基本概念](###基本概念)
- [运作机制](###运作机制)
- [开发指导](##开发指导)
- [场景介绍](###场景介绍)
- [接口说明](#section188213414114)
- [开发步骤](#section7893102915819)
- [调测验证](#section106021256121219)
# SENSOR
## 概述
### 功能简介
Sensor驱动模型屏蔽硬件器件差异,为上层Sensor服务系统提供稳定的Sensor基础能力接口,包括Sensor列表查询、Sensor启停、Sensor订阅及取消订阅,Sensor参数配置等功能;Sensor设备驱动的开发是基于HDF驱动框架基础上,结合操作系统适配层(OSAL)和平台驱动接口(比如I2C/SPI/UART总线等平台资源)能力,屏蔽不同操作系统和平台总线资源差异,实现Sensor驱动“一次开发,多系统部署”的目标。Sensor驱动模型如[图1](#fig10451455446)所示:<a name="section3634112111"></a>
Sensor驱动模型屏蔽硬件器件差异,为上层Sensor服务系统提供稳定的Sensor基础能力接口,包括Sensor列表查询、Sensor启停、Sensor订阅及取消订阅,Sensor参数配置等功能;Sensor设备驱动的开发是基于HDF驱动框架基础上,结合操作系统适配层(OSAL)和平台驱动接口(比如I2C/SPI/UART总线等平台资源)能力,屏蔽不同操作系统和平台总线资源差异,实现Sensor驱动“一次开发,多系统部署”的目标。Sensor驱动模型如[图1](#Sensor驱动模型图)所示。
**图 1** Sensor驱动模型图<a name="fig10451455446"></a>
![Sensor驱动模型图](figures/Sensor%E9%A9%B1%E5%8A%A8%E6%A8%A1%E5%9E%8B%E5%9B%BE.png)
**图 1** Sensor驱动模型图
![Sensor驱动模型图](figures/Sensor驱动模型图.png)
### 基本概念
......@@ -35,7 +25,7 @@ Sensor驱动模型屏蔽硬件器件差异,为上层Sensor服务系统提供
**图 2** Sensor驱动运行图
![Sensor驱动运行图](figures/Sensor%E9%A9%B1%E5%8A%A8%E8%BF%90%E8%A1%8C%E5%9B%BE.png)
![Sensor驱动运行图](figures/Sensor驱动运行图.png)
Sensor驱动模型以标准系统Hi3516DV300产品中的加速度传感器驱动为例,介绍整个驱动加载及运行流程:
......@@ -55,12 +45,12 @@ Sensor驱动模型以标准系统Hi3516DV300产品中的加速度传感器驱动
### 场景介绍
- 通过重力和陀螺仪传感器数据,能感知设备倾斜和旋转量,提高用户在游戏场景中的体验。
- 通过接近光传感器数据,感知距离遮挡物的距离,使设备能够自动亮灭屏,达到防误触目的。例如:通话时,当靠近手机时,关闭屏幕,达到降低功耗的作用
- 通过距离光传感器数据,感知距离遮挡物的距离,使设备能够自动亮灭屏,达到防误触目的。例如,手机通话时,如屏幕距离人脸过近,则自动关闭屏幕,防止误触的同时降低功耗
- 通过气压计传感器数据,可以准确的判断设备当前所处的海拔。
- 通过环境光传感器数据,设备能够实现背光自动调节。
- 通过霍尔传感器数据,设备可以实现皮套功能,皮套合上,手机上开一个小窗口,可降低功耗。
### 接口说明<a name="section188213414114"></a>
### 接口说明
Sensor驱动模型对外开放的API接口能力如下:
......@@ -70,9 +60,9 @@ Sensor驱动模型对外开放的API接口能力如下:
- 提供同一类型Sensor器件驱动归一接口, 寄存器配置解析操作接口,总线访问抽象接口,平台抽象接口。
- 提供开发者实现的能力接口:依赖HDF驱动框架的HCS(HDF Configuration Source)配置管理,根据同类型Sensor差异化配置,实现Sensor器件参数序列化配置和器件部分操作接口,简化Sensor器件驱动开发。
Sensor驱动模型对外开放的API接口能力的具体实现参考[表1](#PinCntlrMethod成员的回调函数功能说明)
Sensor驱动模型对外开放的API接口能力的具体实现参考[表1](#Sensor驱动模型对外API接口功能介绍)
**表 1** PinCntlrMethod成员的回调函数功能说明
**表 1** Sensor驱动模型对外API接口功能介绍
| 接口名 | 功能描述 |
| ----- | -------- |
......@@ -122,9 +112,9 @@ Sensor驱动模型要求驱动开发者实现的接口功能,参考[表3](#Sen
| void ReadSensorData(void) | 实现传感器的数据读取函数。 |
接口实现参考[开发步骤](#section7893102915819)章节。
接口实现参考[开发步骤](#开发步骤)章节。
### 开发步骤<a name="section7893102915819"></a>
### 开发步骤
1. 基于HDF驱动框架,按照驱动Driver Entry程序,完成加速度抽象驱动开发,主要由Bind、Init、Release、Dispatch函数接口实现。
- 加速度传感器驱动入口函数实现
......@@ -524,12 +514,12 @@ Sensor驱动模型要求驱动开发者实现的接口功能,参考[表3](#Sen
>![](../public_sys-resources/icon-note.gif) **说明:**
>
>- 传感器驱动模型已经提供一部分能力集,包括驱动设备管理能力、抽象总线和平台操作接口能力、通用配置操作接口能力、配置解析操作接口能力,接口参考[表2](#table1156812588320)。
>- 传感器驱动模型已经提供一部分能力集,包括驱动设备管理能力、抽象总线和平台操作接口能力、通用配置操作接口能力、配置解析操作接口能力,接口参考[表2](#Sensor驱动模型对驱动开发者开放的功能接口列表)。
>
>- 需要开发人员实现部分有:传感器部分操作接口([表3](#table1083014911336))和传感器HCS差异化数据配置。
> - 驱动基本功能验证。
>- 需要开发人员实现部分有:传感器部分操作接口([表3](#Sensor驱动模型要求驱动开发者实现的接口列表))和传感器HCS差异化数据配置。
>- 驱动基本功能验证。
### 调测验证<a name="section106021256121219"></a>
### 调测验证
驱动开发完成后,在传感器单元测试里面开发自测试用例,验证驱动基本功能。测试环境采用开发者自测试平台。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册