Files

68 lines
2.5 KiB
C
Raw Permalink 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.09.02
* @version V2.0.0(规格书 V3.0.0):闪烁改第 8.2 节——有有效联动配置时按
* 「是否落在 [min,max]」闪,出范围就闪、与被作废/是否吹风无关;
* 喂入方是 app_linkage(也可用 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 闪烁(app_linkage 喂,
* 规格书 8.2T>Tmax 或 T<Tmin;含等于不算超)
* @param en 1=超范围(闪),0=带内(常亮数值)
* @return 无
*/
void app_disp_set_temp_alarm(uint8_t en);
/**
* @brief 设置湿度超范围标志:超范围时湿度管 500ms 闪烁(app_linkage 喂,
* 规格书 8.2H>Hmax 或 H<Hmin
* @param en 1=超范围(闪),0=带内(常亮数值)
* @return 无
*/
void app_disp_set_humi_alarm(uint8_t en);
/**
* @brief 温度或湿度管是否处于告警闪烁
* @return 1=任一侧告警,0=无
*/
uint8_t app_disp_is_alarm(void);
#endif /* __APP_DISP_H__ */