基于LuatOS操作系统高效开发,替代传统串口屏——合宙LuatOS-HMI金牛座开发板此前推出了即配即显的可视化DTU方案、灵活多变的控制器示例,现已全新支持LVGL矢量字体功能。
1
如何用金牛座实现矢量字体功能
在实际开发应用中,LVGL字体的使用必不可少。但是LVGL字体无法设置字号,只能每种字号都做一个字体文件。如果界面中需要用到多个字号的文字,又不希望每个字号都加载一个字体文件,怎么办?
——可以通过外接矢量字库芯片来实现。矢量字体可以缩放后不损失清晰度,并且字库数据存储在外部字库芯片里,通过SPI与模组连接,不占用模组内部存储空间。
前期主要准备工作
1. 硬件准备:
金牛座开发板、字库芯片GT5SUCD2E-1A、USB线。
金牛座开发板及字库芯片在合宙商城及合宙淘宝店均已上架,可通过以下链接按需购买:
合宙LuatOS直营店(一):
luat.taobao.com
合宙LuatOS直营店(二):
openluat.taobao.com
2. 软件准备:
Windows电脑搭建LuatOS开发环境,可参考下文:
https://doc.openluat.com/wiki/21?wiki_page_id=1923
可使用LuatIDE便捷开发,VSCode插件市场搜索“LuatIDE”或以下链接直达:
https://luatos.com/t/LuatIDE
3. API说明:
https://doc.openluat.com/wiki/21?wiki_page_id=2752
矢量字体Demo实操步骤
1. 将字库芯片焊接在模块SPI上:
目前只支持字库芯片GT5SUCD2E-1A(灰度4支持48以下字号,灰度2支持98以下字号,灰度1支持192以下字号)。
金牛座开发板焊接字库芯片后,实物图如下所示:
2. 固件版本定制:
大于等于V3208的LuatOS-Air版本,需通过定制固件系统生成带VF功能的定制固件。
合宙固件定制系统 —— 针对客户不同功能使用场景,提供免费在线定制固件服务。满足客户功能定制化需求,同时也能最大化保留LuatOS运行和存储空间。
定制固件地址:
http://erp.openluat.com/firm_customized
3. 初始化SPI:
spi.setup(spi.SPI_1,1,1,8,50000000,1)
4. 设置字体:
font68=lvgl.font_load(spi.SPI_1,68,2,190)
5. 字体使用:
local xiaoguoLabel=lvgl.label_create(itemCont, nil)
lvgl.obj_set_style_local_text_font(xiaoguoLabel, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font68)
lvgl.label_set_text(xiaoguoLabel, "测试@TEST")lvgl.obj_align(xiaoguoLabel,modeLabelCont, lvgl.ALIGN_OUT_RIGHT_MID, 238, 0)
全部0条评论
快来发表一下你的评论吧 !