喷淋器 P0 功能实现
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/******************************************************************************
|
||||
* @file key_manager.h
|
||||
* @brief 双键:PB1 喷淋短按;PA0 按住 5s 配对 / 12s OTA
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.09.09
|
||||
* @version V1.0.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 装载按键表(两键:PB1 喷淋 / PA0 配网)
|
||||
* @return 无
|
||||
*/
|
||||
void user_key_init(void);
|
||||
|
||||
/**
|
||||
* @brief 上电后:某键还按着则锁该键短按,松开才认短按(不挡长按分级)
|
||||
* @note 规格书 5.1:上电若键仍按着只锁该键短按(防一上电就开喷),
|
||||
* 不锁配网键的 5s / 12s。
|
||||
* @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__ */
|
||||
Reference in New Issue
Block a user