mtk屏幕背光默认时间修改

自己研究的,不知道对不对。

首先在mmitask里初始化函数PhnsetReadGPIOSetting,在函数PhnsetReadGPIOSetting里有一段代码:

ReadValue(NVRAM_BYTE_BL_SETTING_HFTIME, &(g_phnset_gpio_cntx_p->bl_setting_hftime), DS_BYTE, &error);

if (g_phnset_gpio_cntx_p->bl_setting_hftime < 5 || g_phnset_gpio_cntx_p->bl_setting_hftime > 60)

        {

            g_phnset_gpio_cntx_p->bl_setting_hftime = 45;//lb

           //g_phnset_gpio_cntx_p->bl_setting_hftime=10; 

            WriteValue(NVRAM_BYTE_BL_SETTING_HFTIME, &(g_phnset_gpio_cntx_p->bl_setting_hftime), DS_BYTE, &error);

        }

 

应该是先去读取NVRAMNVRAM_BYTE_BL_SETTING_HFTIME的值,如果不在那个范围内,就设置一个默认值给g_phnset_gpio_cntx_p->bl_setting_hftime,而这个值就是开机后屏幕的背光时间。

因此去跟NVRAM_BYTE_BL_SETTING_HFTIME,在custom_mmi_default_value.h里找到它的定义处,在枚举BYTEDATA里位于第123位,然后在nvram_cust_pack.c里的结构体数组NVRAM_CACHE_BYTE_DEFAULT里找到该枚举里的赋值,为0xFF

因此我把g_phnset_gpio_cntx_p->bl_setting_hftime的值赋值为45秒。这样屏幕的背光时间就是45秒了。

 

**************************************************************************************************************************************************************

但后经发现,没有那么简单。

g_phnset_gpio_cntx_p->bl_setting_hftime的值在多处有调用到,不同的平台调用有差异,由于时间关系和个人能力问题没有再跟下去,看什么东西还会与此有关,也就是说如果这样单纯的修改可能引起其他地方出Bug

因此,个人建议只在与屏幕背光的函数的g_phnset_gpio_cntx_p->bl_setting_hftime的调用之前给它赋值就可以了,不过这样做的结果会使得烧机后的通过外部设置不能生效。看来需要再寻找更好的方法才行。

 

屏幕背光函数调用举例:

if (gBackLightTimerStatus == MMI_GPIO_BACKLIGHT_TIMER_STATE_NO_TIMER)

    {

        StopTimer(BACKLIGHT_TIMER);

        StartTimer(BACKLIGHT_TIMER, g_phnset_gpio_cntx_p->bl_setting_hftime * 1000, BacklightTimerHdlr);

        gBackLightTimerStatus = MMI_GPIO_BACKLIGHT_TIMER_STATE_FOR_HALF_MODE;

    }

 

附:找到函数:

void HighlightPhnsetBackLiteHFTime(S32 index)

{

  

    if (index >= 5 && index <= 60)

    {

        g_phnset_gpio_cntx_p->bl_setting_hftime = index;

    }

}这个就是外部设置的了吧,当设置值正常时,就取设置的值。当然没有那么简单,这个函数应该和比较多的地方联系,不过没什么大关系,就没继续跟下去。

 

总结:由此可推知MTK一些开机默认值的设置。比如开机默认语言的设置是NVRAM_SETTING_LANG,如果要修改同样去修改其赋值处就OK了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值