/****************************************************************************** * @file app_mode.h * @brief CBR3 工作模式:通风(25/5 循环)/ 强力(15min 一轮) * @author cyWu <1917507415@qq.com> * @date 2026.08.29 * @version V1.0.0,首次发布(P0 仅接口与 stub,P1 实现状态机) * * @note P1 语义(规格书第 9 章):mode=1 强制 1 档开 25min 停 5min 循环; * mode=2 强制 3 档跑 15min 后风扇 0、mode 回 0。短按切档走 * app_mode_stop(档位由短按逻辑续切);APP 写档 / 写 mode 走 * app_mode_set_manual 手动抢权(mode=0 恢复进入前的手动档快照)。 * 开机恢复不存相位,从头计。BOARD_MODE_ENABLE=0 时全部空操作。 ******************************************************************************/ #ifndef __APP_MODE_H__ #define __APP_MODE_H__ #include /** * @brief 初始化模式状态机 * @return 无 */ void app_mode_init(void); /** * @brief 推进模式状态机,每个业务 tick 调用一次 * @param dt 距上次调用的毫秒数 * @return 无 */ void app_mode_run(uint16_t dt); /** * @brief APP 写 DP1 / 手动抢权:切到指定模式或退出(P0 关闭时忽略) * @param mode 0=关闭模式,1=通风,2=强力 * @return 无 */ void app_mode_set_manual(uint8_t mode); /** * @brief 查询当前逻辑模式 * @return 0/1/2 */ uint8_t app_mode_get_active(void); /** * @brief 停止当前模式(风扇由 app_fan 接管,这里只清模式状态) * @return 无 */ void app_mode_stop(void); #endif /* __APP_MODE_H__ */