Thermal Engine
Thermal 相关的东西主要在Vendor/qcom/proprietary/thermal-engine 目录下:
thermal-engine.conf 文件可以用来配置高低温时CPU的工作模式、充电电流等相关操作。
 
 
也可通过修改ss-data.c thermal_config thermal_monitor-data-8916.c两个文件中的结构体成员来配置。
当然,程序会优先选择conf文件进行解析,但是conf文件中涉及到的各项内容,在 c文件中的结构体要存在。
(也就是说,你在conf文件中配置了CPU1,但是ss-data.c中对应的平台结构体没有CPU1这一项,那么相关的配置文件参数是不会生效的)
 
此文件由 therml_config.c 来解析,使用
int load_config(struct thermal_setting_t *settings, const char *pFName)
在 therml_config_v2.c 中使用
int load_config(struct thermal_setting_t *settings, const char *pFName, int flag)
 
主要看传入的第二个参数
const char *cf = (pFName) ? pFName : CONFIG_FILE_DEFAULT;
如果pFname不存在,就用默认文件
 
thermal.h文件中定义
#ifndef CONFIG_FILE_DEFAULT
#define CONFIG_FILE_DEFAULT "/system/etc/thermal-engine.conf"
#endif
 
在安卓O版本中,thermal-engine.conf 放在了 /system/vendor/etc/ 目录下,这个目录实际上是链接的vendor/etc/的目录,这个要特别注意。不止thermal这一块变了,camera的目录也发生了比较大的改变。
另外在安卓O版本中,调试的时候,输入adb shell thermal-engine -o 关于CPU的配置总是不能输出。但是adb root 的一下就可以了,这个应该是权限问题。具体会不会影响thermal机制的运行,还要实际测一下试试。

 
Thermal engine 调试
 
1.找到当前的thermal engine配置
  1. adb shell thermal-engine –o > thermal-engine.conf
 
2.修改该文件后推送到设备上
 
3.将”debug“放到thermal-engine.conf的首行,然后重新启动thermal-engine服务
  1. adb shell stop thermal-engine
  2. adb root
  3. adb remount
  4. adb push thermal-engine.conf /system/etc/thermal-engine.conf
  5. adb shell sync .
  6. adb shell strat thermal-engine --debug &
4.logcat查看系统温度log
  1. adb logcat –v time –s ThermalEngine

Android Thermal-engine的更多相关文章

  1. Android Thermal HAL 降龙十八掌

    基本概念 参阅下面两篇文章,就可以大概了解一些概念的内容了 https://source.android.com/devices/architecture/hidl/thermal-mitigatio ...

  2. Android游戏引擎总汇 原文出处:http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android?page=1

    随着Android系统的使用越来越广泛,了解一下Android平台下的游戏引擎就非常有必要.而同时因为基于Intel x86的移动设备越来越多,我也非常关注支持x86的移动游戏引擎.然而就目前为止游戏 ...

  3. JustWeEngine - 轻量级游戏框架

    JustWeEngine - 轻量级游戏框架 An easy open source Android game engine. Github地址 引擎核心类流程图 使用方法 引入Engine作为Lib ...

  4. React Native纯干货总结

    随着项目也渐渐到了尾声,之前的项目是mobile开发,采用的是React Native.为即将要开始做RN项目或者已经做过的小伙伴可以参考借鉴,也顺便自己做一下之前项目的总结. 文章比较长,可以选择自 ...

  5. QLGame 2d Engine Android端环境搭建(通过jni读取assets目录的文件)

    QLGame 2d Engine win端已经实现了一个动物的动画了,初步的东西已经完成,考虑在Android端也实现这些基本的东西,这样跨平台的引擎也就实现了! 要在Android下编程,首先要实现 ...

  6. Android简易实战教程--第十一话《获取手机所有应用信息Engine类详解》

    如果想要获取系统手机应用的详细信息,那么下边代码可以直接作为模板使用.笔者对每一行代码都做了注解,供您参考.直接上代码: package com.example.itydl.engines; impo ...

  7. Android/Linux Thermal框架分析及其Governor对比

    图表 1 Thermal框架 随着SoC性能的快速提升,功耗也极大提高,带来的负面影响是SoC的温度提高很快,甚至有可能造成物理损坏.同时功耗浪费也降低了电池寿命. 从上图可知,Thermal框架可以 ...

  8. Android/Linux Thermal Governor之IPA分析与使用

    IPA(Intelligent Power Allocator)模型的核心是利用PID控制器,Thermal Zone的温度作为输入,可分配功耗值作为输出,调节Allocator的频率和电压值. 由P ...

  9. Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法

    Genymotion 插件已更新至 1.0.6,目前无法初始化的问题已经解决. ------------------------------------------------------------ ...

随机推荐

  1. Java并发编程:线程池 - 实例

    代码块: public class test { public static void main(String[] args) { test t = new test(); ThreadPoolExe ...

  2. HDU 1059 多重背包问题

    问题大意: 有价值1-6的六种物品,分别规定其数目,问是否存在一种方法能使这些物品不拆分就能平均分给两个人 #include <cstdio> #include <cstring&g ...

  3. noip模拟赛 dwarf tower

    [问题描述]Vasya在玩一个叫做"Dwarf Tower"的游戏,这个游戏中有n个不同的物品,它们的编号为1到n.现在Vasya想得到编号为1的物品.获得一个物品有两种方式:1. ...

  4. poj——1006 生理周期

    生理周期 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 138291   Accepted: 44300 Descripti ...

  5. Tap into your Linux system with SystemTap

    https://major.io/2010/12/07/tap-into-your-linux-system-with-systemtap/ December 7, 2010 By Major Hay ...

  6. 【Nginx】进程模型

    转自:网易博客 服务器的并发模型设计是网络编程中很关键的一个部分,服务器的并发量取决于两个因素,一个是提供服务的进程数量,另外一个是每个进程可同时处理的并发连接数量.相应的,服务器的并发模型也由两个部 ...

  7. [Vue @Component] Write Vue Functional Components Inline

    Vue's functional components are small and flexible enough to be declared inside of .vue file next to ...

  8. 设置默认訪问项目的client的浏览器版本号(IE版本号)

    在项目开发部署中.发现浏览器不兼容现象,在不处理兼容性情况下让用户更好体验(IE浏览器) 我们来设置client默认訪问项目的浏览器版本号 例如以下所看到的的是不同IE版本号下的效果截图比較: IE5 ...

  9. C++学习之模板特例化

    模板是C++中一个很重要的特性,写一份代码能用于多种数据类型(包括用户自定义类型).例如,STL的sort()函数可以用于多种数据类型的排序,类stack可以用作多种数据类型的栈.但是,如果我们想对特 ...

  10. git命令颜色设置

    + $ git config --global color.status auto + $ git config --global color.diff auto + $ git config --g ...