前言
因为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)