/****************************************************************************** * @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~-1(G 段负号);<-9 钳位 -9;>99 钳位 99。 * 连续失败 3 次双管 "--"(优先于闪烁)。告警闪烁(规格书 8.2) * 与吹风解耦:比较成立侧 500ms 亮/500ms 灭,不成立侧常亮数值。 ******************************************************************************/ #ifndef __APP_DISP_H__ #define __APP_DISP_H__ #include /** * @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__ */