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

打印 上一主题 下一主题

主题 651|帖子 651|积分 1953

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 以后,拖拽体验下。

然后,export导出生成源代码。

最后,把源码放入板级项目中去,这里以stm32f469-st-disco为例。

并在main.c文件中调用ui_init接口。
  1. static void user_task(void *parameter)
  2. {
  3.     int i = 0;
  4.     for (i = 0; i < led_table_size; i++)
  5.     {
  6.         os_pin_mode(led_table[i].pin, PIN_MODE_OUTPUT);
  7.     }
  8.     ui_init();
复制代码
直接编译,发现报错了。。。。什么情况!
  1. application\heart\ui.h(13): error:  #59: function call is not allowed in a constant expression
复制代码
百度了一下,发现是c++ 17扩展了预处理器,使其能够检查是否包含特定的头文件。所以,直接把它屏蔽了。。。
然后,加大了任务的栈。显示如下,颜色深度没有匹配,有点失真。。。:

源码

https://gitee.com/miracle_get/squareline

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表