基于android开发系统的手机充电提示 安卓充电代码手机代码「基于android开发系统的手机充电提示 安卓充电代码」
androidkernel-4.4driverspowermediatekMakefile
内核代码已经升级到了kernel 4.4而不是原来的kernel 3.18.
电量计3.0需要定义宏CONFIG_MTK_GAUGE_VERSION为30,之后代码全部编译
battery和charger两个目录下的文件,跟原来的电量计1.0和2.0文件不一样了.
其中androidkernel-4.4driverspowermediatekbattery目录下的主要文件如下:mtk_battery.c主要是电量计相关的代码类似于之前的battery_meter.c文件
而androidkernel-4.4driverspowermediatekcharger目录下则是各种chargerIC
的driver代码.mtk_charger.c相当于之前的battery_common.c文件,mtk_switch_charging.c文件则相当于之前的switch_charging.c另外还有快充的实现代码。
主要函数文件
androidkernel-4.4driverspowermediatekcharger mtk_chg_type_det.c
androidkernel-4.4driverspower power_supply_core.c
androidkernel-4.4driveriscmediatekpmicmt6357v1 pmic_chr_type_det_v2.c
harger_routine_thread该线程只在充电器插入后才执行,否则就会一直休眠等待.
只有条件info->charger_thread_timeout为true时才被唤醒继续执行.
充电器类型检测函数调用流程:
通过调用power supply core的核心函数power_supply_set_property后,就会最终调用到如下的mt_charger_set_property函数
charger_class.c文件封装了底层操作chargeric的一些函数,并向linux内核注册一个类文件,名称为switch_charging的类。每一个驱动ic在加载时只需要在该类文件下向内核注册名为primary_chg的设备文件即可。
该函数charger_device_register实现了在switching_charger这个class下注册设备文件。之后在charger ic的probe函数中只需要调用该函数来创建设备文件即可,对charger ic的任意操作都可以通过操作该设备文件即可。
具体封装的函数有如下:
因此具体的charger id driver代码在注册时需要根据具体需要实现以上函数即可。
具体来看bct24157.c文件如下
同样的新的代码中还增加了mtk_gauge_class.c文件,向上封装了不同的PMIC芯片电量计部分代码接口.
锡林郭勒盟版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com