修复传感器脱落无法上报故障: 发送指令 nack 计入连续失败,DP22 故障码改为 1

拔掉 AHT20 时 measure_start 返回 addr nack,原先直接跳过本次采样、fail_cnt 不增加,
导致永远判不出故障。发送指令失败与读数失败统一记失败,连续 3 次后显示 --。
fault_code:传感器故障报 1,2 预留;温湿度比较异常只闪显示、不上报。
This commit is contained in:
2026-08-31 18:35:01 +08:00
parent e324ebd99b
commit 6e2ce733a6
5 changed files with 32 additions and 25 deletions
+4 -3
View File
@@ -276,7 +276,7 @@ LED **不** 表示风扇档位,**不** 表示温湿度告警(告警走数码
|---|---|---|
| 温度 2 位 | 整数 ℃ | 0~99 显示绝对值;<0 显示 `-9``-1`(负号用 G 段或自定义,P0 扫段后定);<−9 钳位 `-9`>99 钳位 `99` |
| 湿度 2 位 | 整数 % | 0~99>99 钳位 `99` |
| 读失败 | 双管 `--` | 连续失败 **3** 次后;`fault_code=2` |
| 读失败 | 双管 `--` | 连续失败 **3** 次后;`fault_code=1` |
APP DP3 仍是 0.1℃ 精度 float;显示不跟小数。
@@ -285,7 +285,8 @@ APP DP3 仍是 0.1℃ 精度 float;显示不跟小数。
- 任一 **已使能**`cond_en=1` 的条件组,其温度比较 **当前已成立****不等待** Byte4 时长)→ 温度管 **500ms 亮 / 500ms 灭**
- 湿度同理。两路可同时闪。
- 比较不再成立 → 该侧停闪,常亮显示数值。
- 同步:`fault_code=1`(温湿度异常)。传感器故障优先于 1:失败达 3 次则 `fault_code=2``--`
- 温湿度比较异常只驱动对应管子闪烁,**不上报** `fault_code`
- 传感器连续失败 3 次:显示 `--`,同步 `fault_code=1``fault_code=2` 预留。
- `alarm_code` 预留,不上报具体码(保持 0)。
- `BOARD_DISP_ENABLE=0` 时不闪、不驱动管子,fault 仍可上报。
@@ -503,7 +504,7 @@ usr_rtc_get_time() 失败 → 全部定时不执行(等同 time_en=0)
| 13 time_en | 见第 11 章 |
| 14~20 time_config | 8 字节 + 存 VM |
| 21/23 en | 原样存,P0 不做位级过滤 |
| 22 fault_code | 0 无 / 1 温湿度比较异常 / 2 传感器故障 |
| 22 fault_code | 0 无 / 1 传感器故障 / 2 预留 |
| 24 alarm_code | 保持 0 |
| 25 factory_reset | 第 14 章 |
| 26~28 | 存 RAM/VM 可不实现动作 |