硬件平台:MT8382
网上有很多关于电池曲线配置的文档,定位到具体的文件和数据结构,但是具体的数据配置却是没有,由于工作期间需要配置到对应的电池曲线;特意把修改过程使用到的数据记录下来;
电池曲线需要修改 mediatek\custom\pro\kernel\battery\battery\cust_battery_meter_table.h 文件中的BATTERY_PROFILE_STRUC battery_profile_t2[]结构数组;
电池供应商提供恒流放电过程的数据:
对于电池曲线,主要最关心的是放电过程的数据;从放电数据中可知电池的参数:电池最大电压为4.127V,最低电压2.697V,容量为2230.8mA;
BATTERY_PROFILE_STRUC 结构描述的就是一个电池放电(消耗)过程的数据,电压是一致的,电量的表达方式是以另一种形式:百分比;
// T2 25C BATTERY_PROFILE_STRUC battery_profile_t3[] = { {0 , 4127}, {1 , 4081}, {3 , 4039}, {4 , 4025}, {6 , 4001}, ...... {36 , 3789}, {37 , 3783}, {39 , 3771}, {40 , 3765}, {42 , 3753}, ...... {90 , 3432}, {92 , 3414}, {93 , 3406}, {94 , 3397}, {96 , 3375}, {97 , 3364}, {98 , 3351}, {100 , 3317}, {101 , 3316}, ...... };成员一表示消耗了百分之多少的电量,成员一表示消耗了该电量此时对应的电压值;
/* Battery Voltage and Percentage Mapping Table */ VBAT_TO_PERCENT Batt_VoltToPercent_Table[] = { /*BattVolt,BattPercent*/ {3317,0}, {3432,10}, {3505,20}, {3570,30}, {3637,40}, {3705,50}, {3765,60}, {3825,70}, {3892,80}, {3964,90}, {4127,100}, };
关于电池其他参数的配置,网上有很多帖子都有详细讲解,可以去参考;