当前位置: 首页 > news >正文

OpenHarmony电量与LED灯颜色定制开发

OpenHarmony系统默认提供了电量与LED灯颜色的映射关系,适用于部分产品形态(如Pad)使用LED灯颜色展示设备充电时的电量信息。高电量使用绿色、低电量使用黄色、极低电量使用红色。产品定制开发者可根据产品设计规格自定义此特性,本文档详细介绍了电量与LED灯颜色映射的定制方法。

在这里插入图片描述

约束与限制

  • 产品定制的配置路径需根据具体产品配置策略确定,本文档以/vendor路径为例进行说明,实际开发中请根据产品配置策略调整定制路径。
  • 仅适用于支持LED灯指示功能的产品形态。
  • 设备要求:
    标准系统开发板:如DAYU200/Hi3516DV300开源套件

开发步骤

1. 创建配置文件夹

在产品目录(例如:/vendor/hihope/rk3568)下创建battery文件夹,并在其中创建profile文件夹:

/vendor/hihope/rk3568
└── battery└── profile├── BUILD.gn└── battery_config.json

2. 编写battery_config.json

根据产品设计规格,编写定制的battery_config.json文件,配置格式如下:

{"light": {"low": {"soc": [0, 20],"rgb": [255, 192, 203]},"normal": {"soc": [20, 95],"rgb": [255, 0, 255]},"high": {"soc": [95, 100],"rgb": [0, 0, 255]}}
}

3. 电量等级说明

电量等级描述
low低电量
normal正常电量
high高电量

4. 电量区间与LED灯颜色映射配置说明

配置项描述
soc电量区间
rgbLED灯RGB组合

5. 编写BUILD.gn文件

将battery_config.json打包到//vendor/etc/battery目录下,配置内容如下:

import("//build/ohos.gni")
ohos_prebuilt_etc("battery_config") {source = "battery_config.json"relative_install_dir = "battery"install_images = [ chipset_base_dir ]part_name = "product_rk3568"
}

6. 添加编译目标

将编译目标添加到/vendor/hihope/rk3568目录下ohos.build的"module_list"中:

{"parts": {"product_rk3568": {"module_list": ["//vendor/hihope/rk3568/default_app_config:default_app_config","//vendor/hihope/rk3568/image_conf:custom_image_conf","//vendor/hihope/rk3568/preinstall-config:preinstall-config","//vendor/hihope/rk3568/resourceschedule:resourceschedule","//vendor/hihope/rk3568/etc:product_etc_conf","//vendor/hihope/rk3568/battery/profile:battery_config"]}},"subsystem": "product_hihope"
}

7. 编译与烧录

./build.sh --product-name rk3568 --ccache

将定制版本烧录到DAYU200开发板中。

调测验证

  1. 开机后,进入shell命令行:

    hdc shell
    
  2. 进入电池电量节点路径:

    cd /data/service/el0/battery/battery
    
  3. 模拟电池信息上报并观察LED灯变化:

    • 低电量测试:

      echo 15 > capacity
      hidumper -s 3302 -a -rlow_power_led_alter
      
    • 正常电量测试:

      echo 95 > capacity
      hidumper -s 3302 -a -rnormal_power_led_alter
      
    • 高电量测试:

      echo 99 > capacity
      hidumper -s 3302 -a -rhigh_power_led_alter
      

默认配置示例

系统默认电量与LED灯颜色映射配置:

{"light": {"low": {"soc": [0, 10],"rgb": [255, 0, 0]},"normal": {"soc": [10, 90],"rgb": [255, 255, 0]},"high": {"soc": [90, 100],"rgb": [0, 255, 0]}}
}

默认配置打包路径:/system/etc/battery

注意事项

  1. RGB值范围为[0, 255],分别表示红、绿、蓝三色的强度。
  2. soc区间需按升序排列,且区间不能重叠。
  3. 电量区间配置需根据产品实际需求调整,确保覆盖0-100%的完整电量范围。
  4. 修改配置后需重新编译并烧录,才能生效。
  5. LED灯映射触发机制通过hidumper命令实现,需确保设备支持该命令。

关注鸿蒙百川,带你盘点更多鸿蒙需求定制。

http://www.dtcms.com/a/393246.html

相关文章:

  • OpenHarmony 显示Display驱动全栈解析:DisplayLayer + Gralloc + Gfx 三位一体,打造高性能图形底座
  • 诊断中的一些复位跳转
  • Python爬虫实战:临近双节,构建携程网最新特价机票数据采集与推荐系统
  • 容器主机名设置在云服务器多容器环境的配置流程
  • UE5 socket通信
  • 如何用kimi写一个最小pdf查看软件
  • DTS和PTS
  • 【开题答辩实录分享】以《“平安行”驾校信息管理系统的设计与实现》为例进行答辩实录分享
  • Modbus RTU/TCP转EtherNet/IP网关配置:西门子PLC控制伦茨变频器
  • GEO完全指南:AI时代内容优化的新范式
  • 02-安装DRF框架
  • 浅谈矩阵在机器学习线性回归算法中的数学推导
  • Linux 系统编程中的Redis
  • 【OpenGL】绘制彩色立方体
  • 21.继承与混入
  • Python 开发!ImprovePdf 用算法提升PDF清晰度,免费开源工具
  • P1879 [USACO06NOV] Corn Fields G-提高+/省选-
  • 二分答案:跳石头
  • 注解学习,简单测试框架
  • python 自定义装饰器 + 框架
  • 【星闪】Hi2821 | KEYSCAN矩阵按键扫描
  • ​​[硬件电路-282]:PWM信号通用解读、应用场景及在步进电机中的应用详解
  • 给链表装上“后视镜”:深入理解双向链表的自由与高效
  • Off-Grid Direction of Arrival Estimation Using Sparse Bayesian Inference (II)
  • Unity中的渲染管线
  • PyMuPDF 库
  • 【故障】windows7开机后能出现windows启动界面,但停在黑屏很久才进入系统界面
  • tqdm 库
  • 模块化编程规范与分层设计指南
  • Photoshop - Photoshop 调整照片的颜色强度