MTK 关于电池等级问题

Q:关于电池等级的问题。我们如果想把目前的电池格数由3级改为4级,把每级对应的电池强度(值)
重新定义的话, 要该那些codes:


MSG_ID_MMI_EQ_BATTERY_STATUS_IND

A:
1、修改NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULT:
kal_uint32 const NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULT[] = {
 ......
                  /* Battery voltage Level */
                  3350000, /* Low Battery Power off */
                  3500000, /* Low Battery */
                  /* battery level 1 ~ 8 */

                  3550000, 3600000, 3650000, 3700000,
                  3750000, 3800000, 3850000, 3900000,
       ......        
};

2、修改battery_level_enum:
typedef enum
{
   BATTERY_LOW_POWEROFF = 0,
   BATTERY_LOW_TX_PROHIBIT,
   BATTERY_LOW_WARNING,
   BATTERY_LEVEL_0, //battery level 1
   BATTERY_LEVEL_1,
   BATTERY_LEVEL_2,
   BATTERY_LEVEL_3,
   BATTERY_LEVEL_4,
   BATTERY_LEVEL_5,
   BATTERY_LEVEL_6,
   BATTERY_LEVEL_7,
   BATTERY_LEVEL_LAST = 10
} battery_level_enum;

3、修改函数BatteryStatusIndication:
void BatteryStatusIndication(U8 battery_voltage)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
 U8 level_percentage = 0;
     U8 max_level = BATTERY_LEVEL_4; //电池总格数(此处一定要改),BATTERY_LEVEL_4即表示满格为四格。
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (battery_voltage == BATTERY_LOW_POWEROFF || battery_voltage == BATTERY_LOW_TX_PROHIBIT ||
     battery_voltage == BATTERY_LOW_WARNING || battery_voltage == BATTERY_LEVEL_0 )
     {
      level_percentage = 0;
     }
    else if ( battery_voltage >= BATTERY_LEVEL_1 && battery_voltage <= max_level)
     {
      level_percentage = (battery_voltage - BATTERY_LEVEL_0) * 100  / (max_level - BATTERY_LEVEL_0);
     }
    else
     {
      level_percentage = 100;
     }

 ChangeStatusIconLevel(STATUS_ICON_BATTERY_STRENGTH, level_percentage);
 #ifdef __MMI_SUBLCD__
 ChangeStatusIconLevel(STATUS_ICON_SUBLCD_BATTERY_STRENGTH, level_percentage);
 #endif
}

 

4. 图标也需要做相应的修改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值