1、按键驱动重构:从GPIO中断改为iot_button组件,支持BOOT/KEY2的单击/双击/长按6种事件; 2、新增按键导航管理器(key_nav):9种上下文状态机,统一分发按键事件到对应界面业务逻辑; 3、BLE模块改造:广播默认关闭由按键触发,新增设备间图片传输(GATT Client),支持扫描配对→MTU协商→分包发送; 4、新增6个UI界面:配对(Peiwang)、更新(Update)、发送等待(ImageShar)、接收等待(ImageReception)、发送中(Sharing)、接收中(Receiving); 5、新增电池指示器组件(battery_ui):支持多界面真实电量显示,3秒渐隐效果; 6、Home界面重构:移除手势事件,改为airhub背景图+电池指示器; 7、Img界面重构:移除触摸事件,新增删除二次确认边框机制; 8、禁用ScreenSet/ScreenChar界面(保留文件),禁用触摸初始化(保留代码可恢复); 9、sleep_mgr简化:移除ScreenSet亮度UI依赖,按键唤醒由key_nav统一处理; 10、新增9张图片资源(airhub背景、配对、传输状态、电池图标等); Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
985 B
C
27 lines
985 B
C
// 按键导航管理器
|
||
// 根据当前界面上下文分发按键事件到对应处理逻辑
|
||
#pragma once
|
||
|
||
// 导航上下文(当前界面状态)
|
||
typedef enum {
|
||
NAV_CTX_HOME, // Home界面
|
||
NAV_CTX_IMG, // Img浏览
|
||
NAV_CTX_IMG_DELETE, // Img删除(第一次按BOOT显示边框)
|
||
NAV_CTX_IMG_DELETE_CONFIRM, // Img删除二次确认(边框已显示,再按BOOT执行删除)
|
||
NAV_CTX_PEIWANG, // APP配对界面
|
||
NAV_CTX_UPDATE, // 更新界面
|
||
NAV_CTX_IMAGE_SHAR, // 发送方等待配对
|
||
NAV_CTX_IMAGE_RECEPTION, // 接收方等待配对
|
||
NAV_CTX_SHARING, // 发送方传输中
|
||
NAV_CTX_RECEIVING, // 接收方接收中
|
||
} nav_context_t;
|
||
|
||
// 初始化按键导航(注册所有按键回调)
|
||
void key_nav_init(void);
|
||
|
||
// 切换导航上下文
|
||
void key_nav_set_context(nav_context_t ctx);
|
||
|
||
// 获取当前导航上下文
|
||
nav_context_t key_nav_get_context(void);
|