Files
JBao_Temp_Humi_Fan_FW/apps/usr_app/app_disp.h
T
wuchuyuan e324ebd99b 精简 usr_app 架构:去掉关机/休眠死代码,按键复用 key.c 状态机,ISR 重活统一延后到任务上下文
Type-C 长供电、上电即工作、无软关机,删除 app_boot/app_power 及 DP0 开关相关逻辑,
去掉空占位 app_fan_run 和无效的 usr_timer_pick_mode/rearm(数码管 4ms 扫描已 priority=1,
系统本来就不会进低功耗)。按键 5s 配对 / 12s OTA 改走 key.c 长按分级,去掉自计时与 1~5s 死区。
新增 app_defer,NVM/配对/OTA 只在 ISR 置位、在 500ms 任务上下文落地,避免再在 usr_timer 里写 flash。
规格书与注释同步精简。
2026-08-31 17:57:52 +08:00

66 lines
2.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/******************************************************************************
* @file app_disp.h
* @brief CBR3 数码管显示:温度/湿度整数、负号、-- 故障、告警闪烁
* @author cyWu <1917507415@qq.com>
* @date 2026.08.31
* @version V1.1.0,加告警闪烁:温度/湿度管独立 500ms 亮灭,由
* app_disp_set_temp/humi_alarm 驱动(P2 条件引擎喂真值,也可用
* BOARD_DISP_ALARM_TEST 宏强制验证)
*
* @note 两块 2 位 7 段数码管:温度管整数 ℃、湿度管整数 %。DP 恒灭。
* 0~99 显示绝对值;<0 显示 -9~-1G 段负号);<-9 钳位 -9>99 钳位 99。
* 连续失败 3 次双管 "--"(优先于闪烁)。告警闪烁(规格书 8.2)
* 与吹风解耦:比较成立侧 500ms 亮/500ms 灭,不成立侧常亮数值。
******************************************************************************/
#ifndef __APP_DISP_H__
#define __APP_DISP_H__
#include <stdint.h>
/**
* @brief 初始化显示模块
* @return 无
*/
void app_disp_init(void);
/**
* @brief 业务节拍:计算 4 位要显示什么,写入段码缓冲(不直接打管)
* @param dt 距上次调用的毫秒数(闪烁相位累加)
* @note 软关机由 app_disp_scan 处理;本函数只算数据。
* @return 无
*/
void app_disp_run(uint16_t dt);
/**
* @brief 显示动态扫描(快节拍定时器回调):每次点亮 1 位,4 位轮询刷新
* @note 由 app_disp_init 注册的 BOARD_DISP_SCAN_MS 定时器调用;
* 必须短、不可阻塞;软关机时 4 位全灭。
* CT1642 无内部扫描 RAM,靠本函数持续轮询维持 4 位同亮不闪。
* @return 无
*/
void app_disp_scan(void);
/**
* @brief 设置温度比较成立标志:成立时温度管 500ms 闪烁(P2 条件引擎喂)
* @param en 1=成立(闪),0=不成立(常亮数值)
* @return 无
*/
void app_disp_set_temp_alarm(uint8_t en);
/**
* @brief 设置湿度比较成立标志:成立时湿度管 500ms 闪烁(P2 条件引擎喂)
* @param en 1=成立(闪),0=不成立(常亮数值)
* @return 无
*/
void app_disp_set_humi_alarm(uint8_t en);
/**
* @brief 温度或湿度管是否处于告警闪烁(供 fault_code=1
* @return 1=任一侧告警,0=无
*/
uint8_t app_disp_is_alarm(void);
#endif /* __APP_DISP_H__ */