Android 内核调用充电状态和电池电量

2023-11-03

Android 内核调用充电状态和电池电量

前言

因为Android项目需求,不是什么时候都是用APP来实现功能,部分项目是要求需要驱动需要独立完成部分系统层面的功能,针对MTK Android下面,kernel-4.9 讲一下内核可以调用的充电状态和电池电量的C函数。

提示:以下是本篇文章正文内容,下面案例可供参考。

一、调用的文件

1、路径:
…\kernel-4.9\drivers\misc\mediatek\include\mt-plat\charger_type.h

2、函数名称:

充电状态获取函数:
enum charger_type mt_get_charger_type(void);

充电电压函数:
signed int battery_get_uisoc(void);

二、调用函数

1.引入使用

在其他内核文件中可以引用使用。代码如下(示例):

#include "charger_type.h"//引入定义

extern enum charger_type mt_get_charger_type(void);//获取充状态
extern signed int battery_get_uisoc(void);//获取电量真实百分比

2.返回值说明

1、充电状态返回值 charger_type 是一个枚举具,非零的情况为充电状态,在.h中是有具体描述。代码如下(示例):

enum charger_type {
	CHARGER_UNKNOWN = 0, /* 未充电 */
	STANDARD_HOST,		/* USB : 450mA */
	CHARGING_HOST,      
	NONSTANDARD_CHARGER,	/* AC : 450mA~1A */
	STANDARD_CHARGER,	/* AC : ~1A */
	APPLE_2_1A_CHARGER, /* 2.1A apple charger */
	APPLE_1_0A_CHARGER, /* 1A apple charger */
	APPLE_0_5A_CHARGER, /* 0.5A apple charger */
	WIRELESS_CHARGER,   /* 无线充电 */
};

2、电量百分比的返回值是一个0-100整型,但是在电源还未准备好的时候为无效状态返回255 (0xFF)

小结

这两个函数在我们针对系统来实现驱动充电和电量显示状态灯、开启关闭外设、关机充电状态下的系统控制等等功能时的都非常有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 内核调用充电状态和电池电量 的相关文章

随机推荐

  • Spring系列之代理详解(Java动态代理&cglib代理)

    本文内容 为什么需要用代理 jdk动态代理玩法详解 cglib代理常见的各种玩法详解 代理spring中用到的挺多的 比如上篇文章中的lookup method和replaced method 以及后面我们要学的aop spring中的事务
  • Hive 性能调优大全

    前言 Hive 作为大数据领域常用的数据仓库组件 在平时设计和查询的时候要特别注意效率 影响 Hive 效率的几乎从不是数据量过大 而是数据倾斜 数据冗余 Job或I O过多 MapReduce 分配不合理等等 对Hive 的调优既包含 H
  • CloudCompare 二次开发(10)——点云投影到平面

    目录 一 概述 二 代码集成 三 结果展示 一 概述 不依赖任何第三方点云相关库 使用CloudCompare编程实现点云投影到指定平面 具体计算原理见 PCL 点云投影到拟合平面 二 代码集成 1 mainwindow h文件public
  • Go语言面试题--基础语法(22)

    文章目录 2 下面这段代码输出什么 为什么 3 关于异常的触发 下面说法正确的是 1 下面这段代码输出什么 为什么 func i int PrintInt fmt Println i func main var i int 1 i Prin
  • 华为od机试-最接最大输出功率的设备 /查找充电设备组合

    某个充电站 可提供n个充电设备 每个充电设备均有对应的输出功率 任意个充电设备组合的输出功率总和 均构成功率集合P的1个元素 功率集合P的最优元素 表示最接近充电站最大输出功率P max的元素 输入描述 输入为3行 第1行为充电设备个数n
  • Eclipse 中出现红色下划波浪线与红色感叹号

    一直用eclipse写Python 老是看到一些字符串都给出红色波浪线 看着就不舒服 弄了老半天终于消除了 原来是拼写检查 Windows gt Preferences gt General gt Editors gt Text Edito
  • BlenderGIS:解决BlenderGIS导入OSM报错,无法导入OSM,不显示OSM面板问题

    Tips 本文不扫盲 BlenderGIS的基础知识网上一大片 在这里就不做科普教学 踩坑路上遇到的一个不大不小的坑 坑了我整整一天 纯纯一个大无语 blender版本 3 1 Traceback most recent call last
  • linux下项目部署和配置域名

    项目部署和配置域名 1 首先将项目放入 home www wwwroot default 不同服务器 www路径可能不一样 目录下 2 找到apche目录 一般apache目录在 usr local apache下 也可以通过命令find
  • 修改为一个接口

    Select SELECT COUNT id AS total orders n FROM eb store order int totalOrder Select SELECT SUM pay price AS total income
  • react中useState、useRef之间的区别

    今天写代码用useState 数据总是差一步 同学提醒我他是异步 我恍然大悟 用useRef就好了 记录一下他俩的区别 1 useState 组件更新不会改变之前的状态 可以保存状态 值变化 会render 视图会更新 setState是异
  • Some Information in Study

    Books recommended by programmer 1 Code Complete 2nd Ed by Steve McConnell 2 The Pragmatic Programmer 3 Structure and Int
  • Nodejs的安装

    1 Nodejs的安装 1 下载与安装 下载地址 http nodejs cn download 也可以从网盘下载 链接 https pan baidu com s 1 tnPpgoZldQJherlXkUJdA 提取码 lmxo 2 进行
  • SpringBoot 27 Dubbo-admin、Zookeeper 安装

    27 1 Dubbo 什么是 Dubbo Apache Dubbo 是一款高性能 轻量级的开源 Java RPC 框架 它提供了 三大核心能力 面向接口的远程方法调用 智能容错和负载均衡 以及服务自动注册和发现 Dubbo 采用全 Spri
  • GO 导入(import)相对路径(Relative Path)的问题

    1 问题的产生 在github上fork一个开源项目之后 想要修改部分代码后供公司项目使用 发现需要修改源项目中的所有内部import 例如开源模块 M中存在P1 P2等package 其中P2 import P1的import路径为 gi
  • JavaWeb详解(第四篇)之JSP 简介

    JavaWeb详解 第四篇 之JSP 简介 1 JSP概述 1 1 什么是JSP JSP 全称是 Java Servlet Pages 它是和 servlet 技术一样 都是 SUN 公司定义的一种用于动态开发 web 资源的技术 JSP
  • conda 创建/删除/复制/重命名 深度学习环境

    1 创建 打开anaconda的prompt面板 先创建一个python3 9的环境 conda create n pytorch1 9 python 3 9 创建完之后可以激活环境 activate pytorch1 9 进一步可以安装t
  • CRM软件系统能否监控手机的使用

    CRM可以监控手机吗 答案是不可以 CRM是一款帮助企业优化业务流程 提高销售效率的工具 例如Zoho CRM 最多也就是听一下销售的通话录音 却不可以监控手机 毕竟CRM不是一款监控软件 CRM的主要作用有以下几点 1 管理客户数据 CR
  • 【数据结构】带头双向循环链表---C语言版(单链表我们分手吧,不要再找我玩了!!!)

    文章目录 一 前言 二 链表的分类 1 单向或者双向链表 2 带头或者不带头链表 3 循环或者非循环 4 最常用链表 三 带头双向循环链表详解 创建带头双向循环链表 接口1 定义结构体 LTNode 接口2 初始化 创建哨兵卫 LTInit
  • mmdet_config_builder_win

    在mmdet框架中使用config配置文件构建网络模型 from mmdet models builder import build detector from mmcv import Config import torch import
  • Android 内核调用充电状态和电池电量

    Android 内核调用充电状态和电池电量 前言 一 调用的文件 二 调用函数 1 引入使用 2 返回值说明 小结 前言 因为Android项目需求 不是什么时候都是用APP来实现功能 部分项目是要求需要驱动需要独立完成部分系统层面的功能