bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

电压等级设置不生效

0
阅读(844)

Solution:
Step1
在nvram_user_config.c里:
/* Battery voltage Level */
3200000, /* Low Battery Power off */
3500000, /* Low Battery */
/* battery level 1 ~ 8 */
3550000, 3640000, 3740000, 3870000,
/* 3698671, 3801801, 4003424, 9999999, Changed by Melvin*/
9999999, 9999999, 9999999, 9999999,
Step2
在Device.h里:icfans
typedef enum
{
BATTERY_LOW_POWEROFF = 0,
BATTERY_LOW_TX_PROHIBIT,
BATTERY_LOW_WARNING,
BATTERY_LEVEL_0,
BATTERY_LEVEL_1,
BATTERY_LEVEL_2,
BATTERY_LEVEL_3,
BATTERY_LEVEL_4 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_4 */
BATTERY_LEVEL_5 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_5 */
BATTERY_LEVEL_6 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_6 */
BATTERY_LEVEL_LAST = 9
} battery_level_enum;
Step3
在custom_equiment.c里的函数custom_cfg_vbat_level_convert产生关联:
kal_uint8 custom_cfg_vbat_level_convert
(
kal_int32 vbat
)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint8 level=0; /* the level could be customized by user */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
for( level=0; level<BATTERY_MAX_LEVEL; level++)
if( vbat <= Battery_Level_Info[level] )
return level;
return (BATTERY_MAX_LEVEL-1);
}