充电状态读取辨析charging_enabled与battery_charging_enabled

2023-11-11 12:30

本文主要是介绍充电状态读取辨析charging_enabled与battery_charging_enabled,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

是否在充电

老化程序查询手机是否在充电是查询哪个节点呢?在老化过程中,如果电量过高会导致过充,因此要限制电量,能过enable/disable 充电过程。

有以下两个节点,分别对应不同的寄存器

/sys/class/power_supply/battery/charging_enabled                      0x1340:4        -- USB

/sys/class/power_supply/battery/battery_charging_enabled        0x1242:1        -- BATTERY

前者表示充电器存在,即充电器是插入状态,系统有闪电图标也表示充电器在,但是不表示在充电!!

后者表示电池在充电,插着充电器,不一定给电池供电的。

如果设置charging_enabled=0, 则USB挂起,线上电流归0;battery_charging_enabled依然为1,此时,电池放电;

如果设置battery_charging_enabled,则线上电流不归0,给系统供电; charging_enabled依然为1;但不进电池;此时电池既不放电也不充电。

因此要读取是否在充电,是否有电流进电池,读取battery_charging_enabled

因为,如果只是给系统供电而不充电,则显然是不充电的。此时,进电池的状态并不能说明充电器是否供电;

因为如果不进电池,但是进系统,说明充电器还是供电的,只是没有进电池。

Charger IC

Charge type

USB suspend

Battery charging

Power_path

Full status

PM8909

Linear-charger

0x1347

0x1049

0x1308

线上0

PMI8952

SMB

0x1340

0x1242

0X1308

线上供电

PMI632

SMB5

Slave charger

0X1042

110B

线上供电

PM7250B

SMB5

0x1340

0x1042

110B

线上供电

并行充电IC上的新发展

随着高通平台的发展,我们发现这两个属性慢慢的均移入到parallel中,用来对slave charger进行操作,而对main charger的状态和使能则放弃了。也就是不说,不能再对main charger进行充电行为的控制。当然,芯片上肯定是可以控制的,只是接口没有开放给OEM罢了。 

这篇关于充电状态读取辨析charging_enabled与battery_charging_enabled的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390078

相关文章

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

在C#中读取文件的六种主流方法详解

《在C#中读取文件的六种主流方法详解》在C#中读取文件有多种方法,不同方式适用于不同场景(小型文件、大型文件、文本文件或二进制文件),本文给大家介绍了6种主流方法以及其适用场景,需要的朋友可以参考下... 目录方法1:File.ReadAllText(读取整个文本文件)方法2:File.ReadAllLin

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定