距离Ebullient硬件发布已有一段时间,小一个月吧,在这段时间内在努力的编写代码,现在终于完成了第一阶段的功能设计,算是一个小型的样机吧,基本的代码框架基本确定了,相信后续的会快一点(希望如此吧),下面就给大家介绍一下整体的软件框架与具体功能的介绍吧。
第二点就是LVGL的页面管理,在整个设计的过程中,会涉及到非常多的界面,如果在开始的时候就对它们进行初始化,内存肯定是吃不消的,只有加载对应的页面的时候,才对其进行初始化;还有界面之间的切换,如何优雅便捷的进行切换也是一个难点。
页面管理的的过程大概如下,将新页面的初始化函数,以及页面ID等等相关的数据添加到页面堆里面,如果页面管理通过页面ID来进行当前页面的显示,最简单的管理过程就是这样的。本次实现的页面管理在之前发布过的一个页面管理的代码上进行了修改和完成,使其更加完善。
每个页面都添加了一些新的属性: 父页面ID,子页面ID,回调函数设置函数指针。父页面ID和子页面ID可以让界面间的切换更加优雅高效。而回调函数设置函数指针(后续可能会添加界面销毁的函数指针),类似于C++类的析构和构造函数,更加优雅高效的初始化、复位变量和释放资源。
以上,就是当前的一个软件架构了,感兴趣的话可以访问Gitee仓库自行下载: https://gitee.com/whpUp/ebullient
FPGA之旅 出品
在硬件发布的时候,已经明确了三大基本功能,所以本次阶段性总结也是围绕这点:
以上就是这三个主要功能完成的一个基本情况,还有许多不完善的情况,需要在下一阶段进一步的完善。
需要实物的也可以私聊哦,感兴趣的话可以访问Gitee仓库自行下载: https://gitee.com/whpUp/ebullient