水军大提督 发表于 2022-8-25 19:15:20

squareline搭档OneOS图形组件之可视化GUI开发

LVGL+OneOS!

LVGL,一款很火的GUI开发库,一个高度可裁剪、低资源占用、界面美观且易用的嵌入式系统图形库。本身并不依赖特定的硬件平台,任何满足LVGL硬件配置要求的微控制器均可运行LVGL。
OneOS,中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-M/R/A、MIPS、RISC-V等主流CPU架构,兼容POSIX、CMSIS等标准接口,支持Micropython语言开发,提供图形化开发工具,能够有效提高开发效率并降低开发成本,帮助客户开发稳定可靠、安全易用的物联网应用。
最近,浏览OneOS专区的时候,发现有网页在写OneOS+LVGL的有效结合。也就是说,OneOS适配了LVGL了?想着,yeah,有时间一定要试试。
有趣的GUI开发方式

我们可以直接写代码来生成图片,但更有趣且容易的方式是使用拖拽的方式,直观快速地生成代码,从而生成图片。一直对LVGL有些许好感,刚好今年发布了SquareLine Studio,所以体验一下!
SquareLine Studio是一个可视化的拖放式UI编辑器,可以快速轻松地为嵌入式和桌面应用程序创建漂亮的图形用户界面。它面向爱好者、专业人士、程序员和设计师。
SquareLine Studio官方网址:SquareLine Studio
体验SquareLine 生成代码

下载安装好SquareLine 以后,拖拽体验下。
https://oscimg.oschina.net/oscnet/up-8987298ba5e3af70ee02a7e41761d49e840.gif
然后,export导出生成源代码。
https://oscimg.oschina.net/oscnet/up-c7830a89c859e32286740d6177c477d8aee.gif
最后,把源码放入板级项目中去,这里以stm32f469-st-disco为例。
https://oscimg.oschina.net/oscnet/up-b32c58cf475998931e55c1da18b3bb3b023.png
并在main.c文件中调用ui_init接口。
static void user_task(void *parameter)
{
    int i = 0;
    for (i = 0; i < led_table_size; i++)
    {
      os_pin_mode(led_table.pin, PIN_MODE_OUTPUT);
    }
    ui_init();直接编译,发现报错了。。。。什么情况!
application\heart\ui.h(13): error:#59: function call is not allowed in a constant expression百度了一下,发现是c++ 17扩展了预处理器,使其能够检查是否包含特定的头文件。所以,直接把它屏蔽了。。。
然后,加大了任务的栈。显示如下,颜色深度没有匹配,有点失真。。。:
https://oscimg.oschina.net/oscnet/up-f3f91fadc8863cc98ebffb1522a338824ca.jpg
源码

https://gitee.com/miracle_get/squareline

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: squareline搭档OneOS图形组件之可视化GUI开发