精简 usr_app 架构:去掉关机/休眠死代码,按键复用 key.c 状态机,ISR 重活统一延后到任务上下文
Type-C 长供电、上电即工作、无软关机,删除 app_boot/app_power 及 DP0 开关相关逻辑, 去掉空占位 app_fan_run 和无效的 usr_timer_pick_mode/rearm(数码管 4ms 扫描已 priority=1, 系统本来就不会进低功耗)。按键 5s 配对 / 12s OTA 改走 key.c 长按分级,去掉自计时与 1~5s 死区。 新增 app_defer,NVM/配对/OTA 只在 ISR 置位、在 500ms 任务上下文落地,避免再在 usr_timer 里写 flash。 规格书与注释同步精简。
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
/******************************************************************************
|
||||
* @file key_manager.h
|
||||
* @brief CBR3 单按键:短按切档,长按 3s 关机;开机 3s/5s/12s 不走本库
|
||||
* @brief CBR3 单按键:短按切档,按住分级 5s 配对 / 12s OTA(无长按关机)
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.08.29
|
||||
* @version V1.0.0
|
||||
* @history
|
||||
* - V1.0.0, 2026.08.29, cyWu, 首次发布(移植门夹,语义改切档/关机)
|
||||
* @date 2026.08.31
|
||||
* @version V3.0.0,直接复用 key.c 原生长按/连按/释放事件做按住分级
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __KEY_MANAGER_H__
|
||||
@@ -20,10 +18,24 @@
|
||||
void usr_on_key_short(void);
|
||||
|
||||
/**
|
||||
* @brief 业务层长按 3s 回调(app_function 实现)
|
||||
* @brief 业务层"按住满 5s"回调(app_function 实现):切配对提示灯,尚未清绑定
|
||||
* @return 无
|
||||
*/
|
||||
void usr_on_key_long(void);
|
||||
void usr_on_key_pair_hint(void);
|
||||
|
||||
/**
|
||||
* @brief 业务层"按满 5s 后松手"回调(app_function 实现):提交配对
|
||||
* @note 只置标志;清绑定(写 VM)在 app_function_loop(任务上下文)执行
|
||||
* @return 无
|
||||
*/
|
||||
void usr_on_key_pair_start(void);
|
||||
|
||||
/**
|
||||
* @brief 业务层"按住满 12s"回调(app_function 实现):到点即进 OTA
|
||||
* @note 只置标志;usr_app_ota_init 在 app_function_loop(任务上下文)执行
|
||||
* @return 无
|
||||
*/
|
||||
void usr_on_key_ota_start(void);
|
||||
|
||||
/**
|
||||
* @brief 装载按键表
|
||||
@@ -32,7 +44,7 @@ void usr_on_key_long(void);
|
||||
void user_key_init(void);
|
||||
|
||||
/**
|
||||
* @brief 开机判定结束后:若键还按着则锁住,松开才认短按/长按
|
||||
* @brief 上电后:若键还按着则锁住短按,松开才认短按(不挡长按分级)
|
||||
* @return 无
|
||||
*/
|
||||
void user_key_lock_if_held(void);
|
||||
|
||||
Reference in New Issue
Block a user