新版电池曲线
📎 原始文档:https://www.kdocs.cn/l/cg6Zw35LhaRf 新版电池曲线
适用版本: 彩屏仓sdk v200
问题说明: 旧版电池曲线偶尔出现一些电量不准问题,而新版电池曲线解决了这些问题。同时进入产测模式可以点击“电量测试”按钮,点击后可以高亮或者取消高亮。在该按钮高亮状态下,每次重新亮灭屏可以显示电池曲线相关参数,以用于产测debug,取消高亮则恢复。
补丁包说明:
解压后能看到文件如下,包括补丁文件和一个.patch文件,若有使用git对项目进行管理,且git仓库建立在\ac701n_watch_release_v2.2.0\code\sdk路径下,可以将soc.patch拷贝到.git同级目录,进入git bash输入git apply soc.patch自动打补丁,如下:
若并未使用git进行项目管理,本补丁包提供具体差分修改,此时可以根据补丁包里面的补丁文件,通过对比工具将修改同步过去。
该补丁包只包含701修改,还需搭配982修改,其中982修改需要参考以下链接:
sbox_982_sdk_colorscreen V201版本升级内容
具体可以参考上述链接第三章。
- 主要修改内容: 注意:
该章节只是把关键修改列出,以及对部分修改进行说明,以方便用户打补丁后进行review,不代表在这里会放出全部修改!!!故请勿把此章节内容当成完整补丁去进行修改,若要按照完整补丁进行修改,还请参考第四章的指示去完成。
简要说明:
重点文件是soc.c,soc.h,其他文件均围绕这个两个文件展开。
板级文件中添加LV_SOC_CHECK宏进行控制
这里只以701n板级为例进行讲解,其他板级文件请自行添加。其中LV_SOC_CHECK宏作为新版电池曲线的控制开关,开启该宏后会关闭TCFG_SYS_LVD_EN,即关闭旧版电池曲线模块。将soc.c和soc.h添加进编译

取消旧版电池曲线的电量设置

新版电池曲线会在soc.c中配置电量值,故不需要在旧版流程上重复配置。添加从982获取电量标志位
该标志位在soc.c中会用到,用于区分电量来自于982还是701。添加vm id
该id用于记录上电信息。将box_bat初始值修改为-1
由于该变量类型为u8,故-1就是255。需要这样修改的原因是初次上电时需要校准,校准结束前,实际电量属于未知状态,故在此设置255,结合ui显示,用于指示校准是否完成。修改ui显示,box_bat为255时显示电量为“--”

其中公版SDK有两个修改电,一个是上状态栏电量,另一个则是充电页面的电量,如上图所示。
8. 添加新版电池曲线初始化
在lvgl线程初始化时,将soc_check_init发送给app_core去调用。
添加新按钮
完善产测模式控件。产测模式添加新按钮
初始化时添加新按钮。添加产测按钮回调
在产测模式中的“电量测试”按钮添加回调。若用户有自己的产测模式流程,可以添加一个按钮并添加该回调。
11.亮屏时添加soc显示
进入产测模式按下“电量测试”后,重新亮灭屏即可显示电池曲线相关参数。
- 批处理中增添相应参数
这里以download.bat为例进行说明,若用到了其他批处理请自行添加。去掉-reboot参数,防止982没有重新重启而导致校验错误,加上-format vm进行vm擦除,每次重新上电触发校准。
注意事项:
- 首次上电时,电量显示“--”,如下所示:
这是正常显示,此时还未校准完成,故显示“--”,此时请拔掉充电,等待几秒进行校准,校准结束后即会显示正常电量。