新增 usr_app 产品逻辑:手动>定时>条件仲裁、条件控温湿、定时任务、数码管显示、 按键/LED、风扇档位、NVM 掉电恢复、配对与开关机,上电按规格恢复上次状态。 新增 usr_periph:AHT20、CT1642、板级引脚与硬件封装;见宝协议 cond_config 改为 7 字节编解码,并接入产品 DP。 补充《温湿度风扇_固件需求规格书》,工程加入对应源文件。 .gitignore 忽略 WorkBuddy/Cursor 本地会话
56 lines
1.9 KiB
C
56 lines
1.9 KiB
C
/******************************************************************************
|
|
* @file app_power.h
|
|
* @brief CBR3 软关机生命周期:无电池、无充电,只保留 request/finalize
|
|
* @author cyWu <1917507415@qq.com>
|
|
* @date 2026.08.29
|
|
* @version V1.0.0
|
|
* @history
|
|
* - V1.0.0, 2026.08.29, cyWu, 首次发布(移植门夹精简:删 USB/充电/电量/低电)
|
|
*
|
|
* @note 本产品 USB 常电、无电池,插电不会自动开机,必须长按 3s。
|
|
* SDK 层 TCFG_CHARGE 相关配置保留为板级模板默认,但业务层完全不
|
|
* 参与充电/电量逻辑(规格书第 0 章第 3 条)。
|
|
******************************************************************************/
|
|
|
|
#ifndef __APP_POWER_H__
|
|
#define __APP_POWER_H__
|
|
|
|
#include <stdint.h>
|
|
|
|
/** 深睡请求的钩子:on_request 立刻停执行体并按关机类型处理灯;on_finalize 真正掉电 */
|
|
typedef void (*AppPowerHook_t)(void);
|
|
|
|
/**
|
|
* @brief 初始化电源模块状态
|
|
* @return 无
|
|
*/
|
|
void app_power_init(void);
|
|
|
|
/**
|
|
* @brief 注册深睡请求的两段式回调
|
|
* @param on_request 刚请求深睡时调用(停风扇;灯由调用方按关机类型决定)
|
|
* @param on_finalize 延时到点后调用(真正进深睡,不会返回)
|
|
* @return 无
|
|
*/
|
|
void app_power_set_hooks(AppPowerHook_t on_request, AppPowerHook_t on_finalize);
|
|
|
|
/**
|
|
* @brief 请求深睡(按键 3s 等):立即触发 on_request 钩子,50ms 后触发 on_finalize
|
|
* @return 无
|
|
*/
|
|
void app_power_request_poweroff(void);
|
|
|
|
/**
|
|
* @brief 查询深睡请求是否已发起(发起后其它模块应停止响应新操作)
|
|
* @return 1=已发起,0=未发起
|
|
*/
|
|
uint8_t app_power_poweroff_pending(void);
|
|
|
|
/**
|
|
* @brief 当前这次关机是否为空电路径(本产品无电池,恒 0,保留接口)
|
|
* @return 0
|
|
*/
|
|
uint8_t app_power_empty_off_pending(void);
|
|
|
|
#endif /* __APP_POWER_H__ */
|