接入温湿度风扇产品固件(仲裁/条件/定时/显示),并补齐规格书与外设驱动
新增 usr_app 产品逻辑:手动>定时>条件仲裁、条件控温湿、定时任务、数码管显示、 按键/LED、风扇档位、NVM 掉电恢复、配对与开关机,上电按规格恢复上次状态。 新增 usr_periph:AHT20、CT1642、板级引脚与硬件封装;见宝协议 cond_config 改为 7 字节编解码,并接入产品 DP。 补充《温湿度风扇_固件需求规格书》,工程加入对应源文件。 .gitignore 忽略 WorkBuddy/Cursor 本地会话
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
/******************************************************************************
|
||||
* @file app_th.h
|
||||
* @brief CBR3 温湿度采集:2s 周期、失败计数、最近有效值
|
||||
* @author cyWu <1917507415@qq.com>
|
||||
* @date 2026.08.29
|
||||
* @version V1.0.0
|
||||
* @history
|
||||
* - V1.0.0, 2026.08.29, cyWu, 首次发布
|
||||
*
|
||||
* @note 规格书 8.4:条件"持续时长"只在本次采样成功且比较成立时累加;
|
||||
* 采样失败不累加、不清零;连续 3 次失败显示 "--" 且 fault_code=2。
|
||||
* P0 不做条件比较,只做采样与失败计数。
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __APP_TH_H__
|
||||
#define __APP_TH_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* @brief 初始化温湿度模块
|
||||
* @return 无
|
||||
*/
|
||||
void app_th_init(void);
|
||||
|
||||
/**
|
||||
* @brief 业务节拍:内部 2s 才真正采一次;采的时候走总线互斥
|
||||
* @param dt 距上次调用的毫秒数
|
||||
* @return 无
|
||||
*/
|
||||
void app_th_poll(uint16_t dt);
|
||||
|
||||
/**
|
||||
* @brief 是否已有有效采样
|
||||
* @return 1=有效,0=从未成功
|
||||
*/
|
||||
uint8_t app_th_get_valid(void);
|
||||
|
||||
/**
|
||||
* @brief 最近一次有效温度
|
||||
* @return 温度 ×10(如 25.3℃ → 253)
|
||||
*/
|
||||
int16_t app_th_get_temp_x10(void);
|
||||
|
||||
/**
|
||||
* @brief 最近一次有效湿度
|
||||
* @return 湿度 0~100 整数 %
|
||||
*/
|
||||
uint8_t app_th_get_humi(void);
|
||||
|
||||
/**
|
||||
* @brief 连续失败次数
|
||||
* @return 连续失败次数
|
||||
*/
|
||||
uint8_t app_th_get_fail_cnt(void);
|
||||
|
||||
/**
|
||||
* @brief 传感器故障(连续失败 ≥ BOARD_TH_FAIL_MAX)
|
||||
* @return 1=故障(显示 --、fault_code=2),0=正常
|
||||
*/
|
||||
uint8_t app_th_is_fault(void);
|
||||
|
||||
/**
|
||||
* @brief 最近一次采样是否成功(P2 条件引擎用,规格书 8.4)
|
||||
* @return 1=成功,0=失败/未采样过
|
||||
*/
|
||||
uint8_t app_th_last_sample_ok(void);
|
||||
|
||||
#endif /* __APP_TH_H__ */
|
||||
Reference in New Issue
Block a user