/****************************************************************************** * @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 /** 深睡请求的钩子: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__ */