接入温湿度风扇产品固件(仲裁/条件/定时/显示),并补齐规格书与外设驱动

新增 usr_app 产品逻辑:手动>定时>条件仲裁、条件控温湿、定时任务、数码管显示、
按键/LED、风扇档位、NVM 掉电恢复、配对与开关机,上电按规格恢复上次状态。
新增 usr_periph:AHT20、CT1642、板级引脚与硬件封装;见宝协议 cond_config
改为 7 字节编解码,并接入产品 DP。
补充《温湿度风扇_固件需求规格书》,工程加入对应源文件。
.gitignore 忽略 WorkBuddy/Cursor 本地会话
This commit is contained in:
2026-08-31 15:17:27 +08:00
parent 4cb7418a02
commit 5cc7e9dbd6
53 changed files with 7028 additions and 513 deletions
+54
View File
@@ -0,0 +1,54 @@
/******************************************************************************
* @file app_mode.h
* @brief CBR3 工作模式:通风(25/5 循环)/ 强力(15min 一轮)
* @author cyWu <1917507415@qq.com>
* @date 2026.08.29
* @version V1.0.0
* @history
* - V1.0.0, 2026.08.29, cyWu, 首次发布(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 <stdint.h>
/**
* @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__ */