Files
STM32F4-Base/test/host/ui_sink/stub/lvgl.h
T
super_agent_bot 493fa6ba0e feat(ui/remo): 7003 总线新增 STATUS 身份查询与 GOTO 直达页(#69)
STATUS(命令 4)一帧回答"现在在哪个画面":kind(MENU/PAGE/STANDBY)
+ 菜单路径/选中 + 页 id,布局契约与字节序见 ui_net_sink.h。由 uiTask
轮询驱动,同上下文读静态导航状态:零画面副作用、免锁、不发日志。
新增只读接口 ui_menu_get_nav_state / ui_content_page_current_desc。

GOTO(命令 5)按页 id 查生成表直开内容页,以 VIEW 权限进入(与
"已过查看密码"同档,不代输任何密码)。编译期门控
DTU_BENCH || UI_REMO_ALLOW_GOTO:产品构建恒拒(status=4),模拟器
构建默认开启便于无板验证;执行类页(clear/reset)固件侧同样拒绝
(status=2,与主机 EXEC_PAGE_IDS 同一事实源);待机中拒绝(status=5),
由主机按键唤醒后再来。成功应答带回目标叶节点下标便于对账。

ui_sink 主机单测补导航侧链接假件 + 最小 lvgl 桩(仅本测试目录)。
产品构建 Keil 0 Error 0 Warning;ui_sink 单测 17/17。
2026-11-02 22:19:58 +08:00

57 lines
1.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef TEST_UI_SINK_STUB_LVGL_H
#define TEST_UI_SINK_STUB_LVGL_H
/*
* 测试存根 lvgl.h(#69,2026-11-02 新增)
*
* 为什么存在:ui_net_sink.c 新增 STATUS/GOTO 处理(#69 板端导航身份查询)后,
* 间接引用 ui_menu_view.h / ui_content_page.h,两者 include 真实 "lvgl.h"。
* 本单测只覆盖成帧 / 心跳 / 状态机纯逻辑(见 run_unit_test.py 文件头),
* 运行期不触任何 LVGL,故此处仅提供上述头文件声明处用到的最小类型;
* 不模拟任何 LVGL 行为,也不参与 MCU 构建(stub 目录仅本测试使用)。
*
* 维护约定:ui_content_page.h / ui_menu_view.h 的声明若新增 lv_* 类型依赖,
* 在此按需补最小 typedef;禁止在此写真实 LVGL 语义来"凑过"编译。
*/
#include <stdint.h>
typedef struct _lv_obj_t lv_obj_t;
typedef struct _lv_area_t lv_area_t;
typedef struct _lv_layer_t lv_layer_t;
typedef uint32_t lv_key_t;
typedef struct {
uint8_t a;
uint8_t r;
uint8_t g;
uint8_t b;
} lv_color_t;
/* ui_tokens.h 的 UI_COL_* 宏用到;本测试不断言其值,仅需可编译 */
static inline lv_color_t lv_color_white(void)
{
lv_color_t c;
c.a = 0xFFu;
c.r = 0xFFu;
c.g = 0xFFu;
c.b = 0xFFu;
return c;
}
static inline lv_color_t lv_color_black(void)
{
lv_color_t c;
c.a = 0xFFu;
c.r = 0x00u;
c.g = 0x00u;
c.b = 0x00u;
return c;
}
/* ui_content_page.h 注释提及;为防后续声明引用,按真实 LVGL 键码给出 */
#define LV_KEY_LEFT 0x14u
#define LV_KEY_ESC 0x1Bu
#endif /* TEST_UI_SINK_STUB_LVGL_H */