/****************************************************************************** * @file key_manager.h * @brief 按键:短按切加热;按住 5s 配对 / 12s OTA * @author cyWu <1917507415@qq.com> * @date 2026.09.04 * @version V3.1.0 ******************************************************************************/ #ifndef __KEY_MANAGER_H__ #define __KEY_MANAGER_H__ #include "key.h" /** * @brief 业务层短按回调(app_function 实现) * @return 无 */ void usr_on_key_short(void); /** * @brief 业务层"按住满 5s"回调(app_function 实现):切配对提示灯,尚未清绑定 * @return 无 */ 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 装载按键表 * @return 无 */ void user_key_init(void); /** * @brief 上电后:若键还按着则锁住短按,松开才认短按(不挡长按分级) * @return 无 */ void user_key_lock_if_held(void); /** * @brief 按真实毫秒推进状态机(20ms 节拍会循环 dt 次) * @param dt 距上次调用的毫秒数 * @return 无 */ void user_key_scan(uint16_t dt); /** * @brief 派发按键回调 * @return 无 */ void user_key_handle(void); #endif /* __KEY_MANAGER_H__ */