1# 充电振动定制开发指导
2
3## 概述
4
5### 功能简介
6
7OpenHarmony提供定制电池服务振动的能力,产品定制开发者可根据产品设计规格来定制。当前该定制能力仅支持在插入充电器场景下使用,定制时采用修改配置文件的方式,实现电池连接充电器时触发振动效果。
8
9### 约束与限制
10
11该功能依赖于设备硬件,设备需要有振动马达器件。
12
13
14## 开发指导
15
16### 搭建环境
17
18- 设备要求:
19
20  标准系统开发板,如DAYU200开源套件,外接振动马达器件。
21
22- 环境要求:
23
24  Linux调测环境,相关要求和配置可参考《[快速入门](../quick-start/quickstart-overview.md)》。
25
26### 开发步骤
27
28本文以RK3568开发板为例,说明如何实现插入充电器振动的定制方法。
29
301. 修改[base\powermgr\battery_manager\services\native\profile](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile)路径下的电池服务振动配置文件battery_vibrator.json31
32    ```text
33    profile
34    ├── BUILD.gn
35    ├── battery_config.json
36    ├── battery_vibrator.json
37    ```
38
39    以如下配置为例:
40
41    ```json
42    {
43        "start_charge": {
44            "enable": true,
45            "type": "haptic.charging"
46        }
47    }
48    ```
49   - start_charge:振动场景字符串名称,不可修改。
50
51   - enable:振动使能开关,配置为true则触发振动,为false则不触发振动,默认为false。
52
53   - type:振动波形名,默认为haptic.charging,暂未提供其他波形名。
54
552. 参考《[快速入门](../quick-start/quickstart-overview.md)》编译定制版本,编译命令如下:
56
57    ```shell
58    ./build.sh --product-name rk3568 --ccache
59    ```
60
613. 将定制版本烧录到RK3568开发板中。
62
63### 调测验证
64
65烧录版本后重启设备,插入充电器观察是否按照预期振动,如按照预期振动则功能测试成功。
66
67
68## 参考
69
70开发过程中可参考的配置文件路径:
71
72[系统默认插入充电器振动配置源码路径](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile)