readme.md 10 KB

exEasyUI 演示

一、功能模块介绍

1.1 核心主程序模块

  1. main.lua - 主程序入口,负责系统初始化和任务调度
  2. ui_main.lua - exeasyui 主程序,负责执行exeasyui的任务调度

1.2 显示页面模块

  1. home_page.lua - 主页模块,提供应用入口和导航功能
  2. component_page.lua - UI 组件演示模块
  3. default_font_page.lua - 默认字体演示模块
  4. gtfont_page.lua - GTFont 矢量字体演示模块
  5. hzfont_page.lua - HZFont 矢量字体演示模块

1.3 硬件驱动模块

  1. hw_default_font_drv.lua - lcd显示驱动配置、tp触摸驱动配置和默认字体驱动模块,使用内置 12 号点阵字体
  2. hw_gtfont_drv.lua - lcd显示驱动配置、tp触摸驱动配置和GTFont 矢量字库驱动模块
  3. hw_hzfont_drv.lua - lcd显示驱动配置、tp触摸驱动配置和HZFont 矢量字体驱动模块(开发中)
  4. hw_customer_font_drv.lua - lcd显示驱动配置、tp触摸驱动配置和自定义外部字体驱动模块(开发中)

当前演示的exeasyui V1.7.0版本还不支持同时启用多种字体,仅支持选择一种字体初始化,同时启用多种字体功能正在开发中

二、演示效果

主页
组件演示页
默认字体页
GTFont页




三、演示硬件环境

3.1 硬件清单

  • Air8101 核心板 × 1
  • AirLCD_1020 触摸配件板 × 1
  • GTFont 矢量字库,使用的是 AirFONTS_1000 配件板 × 1
  • 双排40PIN的双头线 x 1
  • 母对母杜邦线 × 6,杜邦线太长的话,会出现 spi 通信不稳定的现象;
  • TYPE-C 数据线 × 1
  • Air8101 核心板和 AirLCD_1020配件板以及AirFONTS_1000 配件板的硬件接线方式为

    • Air8101 核心板通过 TYPE-C USB 口供电(核心板背面的功耗测试开关拨到 OFF 一端,正面开关打到 3.3V 一端),此种供电方式下,vbat 引脚为 3.3V,可以直接给 AirLCD_1020配件板和AirFONTS_1000 配件板供电;
    • 为了演示方便,所以 Air8101 核心板上电后直接通过 vbat 引脚给 AirLCD_1020配件板和AirFONTS_1000 配件板提供了 3.3V 的供电;
    • 客户在设计实际项目时,一般来说,需要通过一个GPIO来控制LDO给LCD和TP供电,这样可以灵活地控制供电,可以使项目的整体功耗降到最低;
    • 核心板和配件板之间配备了双排40PIN的双头线,可以参考下表很方便地连接双方各自的40个管脚,插入或者拔出双头线时,要慢慢的操作,防止将排针折弯;

3.2 接线配置

3.2.1 LCD 显示屏接线

Air8101核心板
AirLCD_1020配件板
gnd
GND
vbat
VCC
42/R0
RGB_R0
40/R1
RGB_R1
43/R2
RGB_R2
39/R3
RGB_R3
44/R4
RGB_R4
38/R5
RGB_R5
45/R6
RGB_R6
37/R7
RGB_R7
46/G0
RGB_G0
36/G1
RGB_G1
47/G2
RGB_G2
35/G3
RGB_G3
48/G4
RGB_G4
34/G5
RGB_G5
49/G6
RGB_G6
33/G7
RGB_G7
50/B0
RGB_B0
32/B1
RGB_B1
51/B2
RGB_B2
31/B3
RGB_B3
52/B4
RGB_B4
30/B5
RGB_B5
53/B6
RGB_B6
29/B7
RGB_B7
28/DCLK
RGB_DCLK
54/DISP
RGB_DISP
55/HSYN
RGB_HSYNC
56/VSYN
RGB_VSYNC
57/DE
RGB_DE
14/GPIO8
LCD_BL
13/GPIO9
LCD_RST
8/GPIO5
LCD_SDI
9/GPIO6
LCD_SCL
68/GPIO12
LCD_CS
75/GPIO28
TP_RST
10/GPIO7
TP_INT
12/U1TX
TP_SCL
11/U1RX
TP_SDA

3.2.2 GTFont 字库接线

Air8101 核心板AirFONTS_1000配件板
66/GPIO3CS
67/GPIO4MOSI
8/GPIO5MISO
65/GPIO2CLK
vbatVCC

3.2.3 接线图

四、演示软件环境

4.1 开发工具

4.2 内核固件

五、演示核心步骤

5.1 硬件准备

  1. 按照硬件接线表连接所有设备
  2. 如使用 GTFont,需要连接 AirFONTS_1000 配件板
  3. 通过 TYPE-C USB 口供电
  4. 检查所有接线无误

5.2 软件配置

main.lua 中配置系统参数:

-- 必须加载才能启用exeasyui的功能
ui = require("exeasyui")

-- 加载lcd、tp和字库驱动管理功能模块,有以下四种:
-- 1、使用lcd内核固件中自带的12号中文字体的hw_default_font_drv,并按lcd显示驱动配置和tp触摸驱动配置进行初始化
-- 2、使用hzfont核心库驱动内核固件中支持的软件矢量字库的hw_hzfont_drv.lua,并按lcd显示驱动配置和tp触摸驱动配置进行初始化
-- 3、使用gtfont核心库驱动AirFONTS_1000矢量字库配件板的hw_gtfont_drv.lua,并按lcd显示驱动配置和tp触摸驱动配置进行初始化
-- 4、使用自定义字体的hw_customer_font_drv(目前开发中)
-- 最新情况可查看模组选型手册中对应型号的固件列表内,支持的核心库是否包含lcd、tp、12号中文、gtfont、hzfont,链接https://docs.openluat.com/air780epm/common/product/
-- 目前exeasyui V1.7.0版本支持使用已经实现的四种功能中的一种进行初始化,同时支持多种字体初始化功能正在开发中
require("hw_default_font_drv")
-- require("hw_hzfont_drv")开发中
-- require("hw_gtfont_drv")
-- require("hw_customer_font_drv")开发中

-- 加载exeassyui扩展库实现的用户界面功能模块
-- 实现多页面切换、触摸事件分发和界面渲染功能
-- 包含主页、组件演示页、默认字体演示页、HZfont演示页、GTFont演示页和自定义字体演示页

require("ui_main")

5.3 屏幕参数配置

在对应的驱动文件中根据实际硬件调整硬件参数:

  • hw_default_font_drv.lua - lcd显示驱动配置、tp触摸驱动配置和默认字体驱动模块,使用内置 12 号点阵字体
  • hw_gtfont_drv.lua - lcd显示驱动配置、tp触摸驱动配置和GTFont 矢量字库驱动模块
  • hw_hzfont_drv.lua - lcd显示驱动配置、tp触摸驱动配置和HZFont 矢量字体驱动模块(开发中)
  • hw_customer_font_drv.lua - lcd显示驱动配置、tp触摸驱动配置和自定义外部字体驱动模块(开发中)

5.4 软件烧录

  1. 使用 Luatools 烧录对应型号的最新内核固件
  2. 下载并烧录本项目所有脚本文件
  3. 将图片文件随脚本文件一起烧录到脚本分区
  4. 设备自动重启后开始运行
  5. 点击查看Luatools 下载和详细使用

5.5 功能测试

5.5.1 主页面操作

  1. 设备启动后显示主页面,包含四个功能按钮
  2. 查看系统标题和版本信息
  3. 点击各功能按钮进入对应演示页面

5.5.2 组件演示页面

  1. 测试进度条组件的动态更新
  2. 在输入框中输入文本测试
  3. 点击按钮查看打印日志
  4. 操作复选框查看状态变化
  5. 体验消息框的弹出和按钮响应
  6. 使用下拉框选择选项
  7. 查看图片轮播效果(如有图片文件)

5.5.3 字体演示页面

  1. 默认字体页:查看固定 12 号字体的颜色和中英文显示
  2. GTFont 页:体验多尺寸矢量字体显示效果
  3. 在各页面使用返回按钮回到主页

5.6 预期效果

  • 系统启动:正常初始化,显示主页面
  • 页面切换:流畅的页面过渡效果
  • 组件交互:所有 UI 组件响应灵敏
  • 字体显示:各字体页面正常显示,动态调整功能正常
  • 触摸操作:准确的触摸定位和事件响应

5.7 故障排除

  1. 显示异常:检查 LCD 接线,确认对应驱动文件中的硬件参数正确
  2. 触摸无响应:检查 I2C 接线,确认触摸芯片型号配置正确
  3. 字体显示异常:确认选择的字体驱动与硬件匹配
  4. 图片无法显示:确认图片文件已正确烧录到指定路径
  5. 系统卡顿:调整 ui_main.lua 中的sys.wait(time)刷新率参数

六、扩展开发

本演示 demo 所有接口都在 exeasyUI UI 扩展库内有详细说明,如需实现更丰富的自定义功能可按接口说明实现。