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。 规格书与注释同步精简。
66 lines
2.4 KiB
C
66 lines
2.4 KiB
C
/******************************************************************************
|
||
* @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 <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__ */
|
||
|