库伦值自动化功耗测试工具
1. 功能介绍
PlatformPower工具可以自动化测试不同场景的功耗电流,并可导出为excel文件便于测试结果分析查看。测试同时便于后续根据需求拓展其他自动化测试用例。
主要原理:基于文件节点 coulomb_count 实现,计算公式:电流=(coulomb_count差值/时间差值)
| 场景-MTK平台 | 开始时间 | 开始时库伦值(0.1mAh) | 结束时间 | 结束时库伦值(0.1mAh) | 测试时长(s) | 库伦值电流(mA) | 实际电流(mA) | 误差(mA) |
| 暗屏待机20分钟 | 0:17:53 | -204 | 0:37:54 | -179 | 1119 | 7.49 | 6.91 | 0.58 |
| 播放视频10分钟 | 0:56:19 | -296 | 0:06:19 | -988 | 600 | 415.17 | 419.23 | -4.06 |
| 暗屏+音乐播放10分钟 | 1:14:05 | -1307 | 1:24:05 | -1381 | 600 | 44.39 | 43.38 | 1.01 |
| 游戏(开心消消乐)5分钟 | 1:55:46 | -479 | 2:00:46 | -927 | 300 | 537.61 | 542.52 | -4.91 |
| 百度地图室内导航 5分钟 | 2:16:09 | -2004 | 2:21:09 | -2316 | 300 | 374.39 | 377.89 | -3.5 |
| 亮屏+桌面待机5分钟 | 2:28:05 | -2720 | 2:33:05 | -2970 | 300 | 299.99 | 301.8 | -1.81 |
| 基于库伦值计算场景平均电流与PowerMoniter实际电流对比,误差比较小,有一定参考意义,方案可行 | ||||||||
2. 自动化测试用例项目
待机灭屏1分钟后开始测试电流(关闭BT、WLAN,GPS,开启飞行模式)
默认亮度,亮屏电流(固定资源taiga.png)
最暗亮度,亮屏电流(固定资源taiga.png)
最亮亮度,亮屏电流(固定资源taiga.png)
申请PARTIAL_WAKE_LOCK锁,灭屏(灭屏idle),测试结束且计算完电流后,需强行亮屏并释放该锁
最亮亮度,默认音量,播放视频电流(片源固定资源)
最亮亮度,最大音量,播放视频电流(片源固定资源)
最亮亮度,静音音量,播放视频电流(片源固定资源)
默认亮度,默认音量,播放视频电流(片源固定资源)
最大音量,外放,播放一首固定音乐,灭屏1分钟后开始测试
默认音量,外放,播放一首固定音乐,灭屏1分钟后开始测试
静音,外放,播放一首固定音乐,灭屏1分钟后开始测试
呼吸灯工作时灭屏1分钟后开始测试。测试结束后需关闭
开启手电筒,灭屏1分钟后开始测试
关闭手电筒,灭屏1分钟后开始测试
打开FM,收听电台,灭屏1分钟后开始测试
关闭FM,灭屏1分钟后开始测试,待机电流
开启GPS,灭屏1分钟后开始测试,待机电流
关闭GPS,灭屏1分钟后开始测试,待机电流
开启蓝牙,灭屏1分钟后开始测试,待机电流
关闭蓝牙,灭屏1分钟后开始测试,待机电流
开启wifi,连接AP,灭屏3分钟后开始测试,待机电流
关闭wifi,灭屏1分钟后开始测试,待机电流
开启数据连接,灭屏3分钟后开始测试,待机电流
关闭数据连接,灭屏1分钟后开始测试,待机电流
3. 界面UI

4. 导出测试结果
包含用例名称,开始执行时间,完成执行时间,开始电压 ,开始库伦值,开始电量,结束电压,结束库伦值 ,结束电量,平均电流,功率数据显示
| 用例名称 | 平均电流mA |
| 恢复出厂设置,待机灭屏1分钟后开始测试电流(关闭BT、WLAN,GPS,开启飞行模式) | 5.39 |
| 默认亮度,亮屏电流(固定资源taiga.png) | 194.05 |
| 最暗亮度,亮屏电流(固定资源taiga.png) | 113.1 |
| 最亮亮度,亮屏电流(固定资源taiga.png) | 300.0 |
| 申请PARTIAL_WAKE_LOCK锁,灭屏(灭屏idle),测试结束且计算完电流后,需强行亮屏并释放该锁 | 5.39 |
| 最亮亮度,默认音量,播放视频电流(片源固定资源) | 380.95 |
| 最亮亮度,最大音量,播放视频电流(片源固定资源) | 435.71 |
| 最亮亮度,静音音量,播放视频电流(片源固定资源) | 372.62 |
| 默认亮度,默认音量,播放视频电流(片源固定资源) | 286.9 |
| 最大音量,外放,播放一首固定音乐,灭屏1分钟后开始测试 | 119.46 |
| 默认音量,外放,播放一首固定音乐,灭屏1分钟后开始测试 | 66.47 |
| 静音,外放,播放一首固定音乐,灭屏1分钟后开始测试 | 63.47 |
| 开启手电筒,灭屏1分钟后开始测试 | 186.9 |
| 关闭手电筒,灭屏1分钟后开始测试 | 4.79 |
相关文章:
库伦值自动化功耗测试工具
1. 功能介绍 PlatformPower工具可以自动化测试不同场景的功耗电流,并可导出为excel文件便于测试结果分析查看。测试同时便于后续根据需求拓展其他自动化测试用例。 主要原理:基于文件节点 coulomb_count 实现,计算公式:电流&…...
Javascript数据结构——图Graph
当然,让我们深入探讨一下JavaScript中的图数据结构,并列出一些常见的面试题及其代码示例。 图数据结构详解 图(Graph)是一种非线性的数据结构,由节点(也称为顶点)和连接这些节点的边组成。节点…...
搭建nginx文件服务器
方法一:通过docker方式搭建 1、创建一个nginx配置文件/etc/nginx/nginx.conf user nginx; worker_processes 1;error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_typ…...
Ubuntu Server安装谷歌浏览器
背景 服务器上跑爬虫服务器需要安装谷歌浏览器 安装 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb### sudo apt install ./google-chrome-stable_current_amd64.deb...
Vue项目结构推荐(复杂国际化项目与一般项目结构)
Vue项目结构推荐 一、一般项目结构二、复杂国际化项目结构总结/建议 下面结构是基于Vue和TypeScript开发的项目结构下src包下的结构,若只用到vue与js。则去掉typescript部分的包即可。 一、一般项目结构 assets:存放静态资源,如图片、字体、样…...
hive-sql 连续登录五天的用户
with tmp as (select 梁牧泽 as uid, 2023-03-03 as dt union allselect 梁牧泽 as uid, 2023-03-04 as dt union allselect 梁牧泽 as uid, 2023-03-05 as dt union allselect 梁牧泽 as uid, 2023-03-07 as dt union allselect 梁牧泽 as uid, 2023-03-08 as dt union allsel…...
FPGA 4x4矩阵键盘 实现
1原理 FPGA(现场可编程门阵列)4x4矩阵键盘的实现原理主要基于行列扫描法,通过FPGA对键盘的扫描和识别,实现对键盘输入信号的采集和处理。以下是对FPGA 4x4矩阵键盘实现原理的详细解释: 一、矩阵键盘的基本原理 结构:4x4矩阵键盘由4行和4列组成,共16个按键。每个按键位…...
ruoyi开发学习
将若依框架中的若依元素删掉 1.删除主目录中的“若依官网”: 在后端项目中,idea里借助mysql管理工具,找到sys_menu数据表,双击打开,找到4 若依官网,选中点击减号,绿色上箭头刷新,删…...
MacBook_Xcode_Swift雨燕
Swift Swift Swift Swift是苹果公司开发的现代化编程语言, 专为Apple平台设计。其简洁语法、类型安全、Optionals处理、Playgrounds交互式环境、泛型编程、协议与扩展、闭包功能、枚举与关联值、结构体与类的高效内存管理、异步编程的async/await语法、Swift Packa…...
ABAQUS三维Voronoi晶体几何建模
材料晶体塑性理论与细观尺度上晶体几何模型相融合的模拟方法为探究材料在塑性变形过程中的行为机制以及晶体材料优化开辟了新途径。本案例演示在CAD软件内通过Voronoi建立晶体三维模型,并将模型导入到Abaqus CAE内,完成晶体材料的有限元建模。 在AutoC…...
.Net加密与Java互通
.Net加密与Java互通 文章目录 .Net加密与Java互通前言RSA生成私钥和公钥.net加密出数据传给Java端采用java方给出的公钥进行加密采用java方给出的私钥进行解密 .net 解密来自Java端的数据 AES带有向量的AES加密带有向量的AES解密无向量AES加密无向量AES解密 SM2(国密)SM2加密Sm…...
MySQL 06 章——多表查询
多表查询,也称为关联查询,是指两个表或多个表一起完成查询操作 前提条件,这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段的。这个关联字段可能建立了外键,也可能没…...
猴子吃桃.
本节通过学习解决一个有趣的问题来加深对递归的理解. 问题描述: 有一个猴子摘了桃子吃,第一天吃一半多一个,第二天吃第一天剩余的一半多一个,第三天吃第二天剩余的一半多一个..以此类推,当第n天时,恰好只剩下一个桃子.求猴子一共摘了多少桃子. 思路解析: 解读题目,第n天的桃子…...
游戏引擎学习第72天
无论如何,我们今天有一些调试工作要做,因为昨天做了一些修改,结果没有时间进行调试和处理。我们知道自己还有一些需要解决的问题,却没有及时完成,所以我们想继续进行这些调试。对我们来说,拖延调试工作总是…...
element-ui dialog 组件源码分享
简单分享 dialog 组件源码,主要从以下三个方面: 1、dialog 页面结构。 2、dialog 组件属性。 3、dialog 组件挂载。 4、dialog 组件事件。 一、dialog 页面结构: 二、组件属性: 2.1 visible 是否显示 Dialog,支持…...
unity开发之shader 管道介质流动特效
效果 shader graph 如果出现下面的效果,那是因为你模型的问题,建模做贴图的时候没有设置好UV映射,只需重新设置下映射即可...
人工智能之机器学习算法
所有的机器学习算法都是要优化的,优化的必要条件是确定优化的目标函数(损失函数),目标函数是根据实际问题(数据)转成的数学公式。 一.线性回归原理推导 (1)回归问题概述 在机器学习的有监督算法中,分类与回归二种情…...
Android布局layout的draw简洁clipPath实现圆角矩形布局,Kotlin
Android布局layout的draw简洁clipPath实现圆角矩形布局,Kotlin 通常,如果要把一个相对布局,FrameLayout,或者线性布局等这样的布局变成具有圆角或者圆形的布局,需要增加一个style,给它设置圆角,…...
信息系统常见的系统架构
1.1单文件架构 现在很多企业内部虽然已经建设了一些信息系统,但还是有不少业务没有用专门的信息系统管理起来,普遍都是采用Excel表格来实现这些业务数据的填报和查询统计。Excel就是属单文件架构,这种架构是指整个系统就是一个文件࿰…...
AngularJS 过滤器:提升用户体验的数据处理利器
AngularJS 过滤器:提升用户体验的数据处理利器 AngularJS,作为一款由Google维护的开源JavaScript框架,以其独特的双向数据绑定和MVVM(Model-View-ViewModel)架构在Web应用开发领域占据着重要地位。其中,AngularJS的过滤器(Filters)功能,为开发者提供了一种轻量级、高…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...
