feat(opt): 光耦输出模式升级 — DLD_OUTPUT_MODE 枚举 + direction_mode 低四位取值
- 新增 DLD_OUTPUT_MODE 枚举: 7种模式(复位/纯地感/纯雷达/或/与/人车混行/ETC) - g_fm_radar_input_disable → g_output_radar_mode: 从 function_mode bit1 改为 direction_mode & 0x0F - 仅模式0(复位)已实现, 1~6 暂为 no-op - BLE 回读字段改为 direction_mode 完整字节 - rs485_700bs.c: 注释块重排(无功能变更) - docs: 更新开发日志
This commit is contained in:
@@ -4,6 +4,58 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-28 — 光耦输出模式升级:`DLD_OUTPUT_MODE` 枚举 + `direction_mode` 低四位取值
|
||||
|
||||
### 背景
|
||||
|
||||
光耦输入功能从原来的「二值化开关」(使能/复位)升级为 **7 种输出模式**,
|
||||
由 `direction_mode` 字节的低四位选择。`g_fm_radar_input_disable`(来自 `function_mode` bit1)
|
||||
更名为 `g_output_radar_mode`,语义从布尔值变为枚举值。
|
||||
|
||||
### `DLD_OUTPUT_MODE` 枚举
|
||||
|
||||
```c
|
||||
typedef enum _DLD_OUTPUT_MODE
|
||||
{
|
||||
OUTPUT_MODE_LOOP_X_RESET = 0, // 光耦输入为复位信号,仅地感检测输出
|
||||
OUTPUT_MODE_LOOP_ONLY, // 仅地感,光耦输入无效
|
||||
OUTPUT_MODE_RADAR_ONLY, // 仅光耦(雷达输出接光耦输入),地感无效
|
||||
OUTPUT_MODE_LOOP_OR_RADAR, // 地感或雷达
|
||||
OUTPUT_MODE_LOOP_AND_RADAR, // 地感和雷达
|
||||
OUTPUT_MODE_HUMAN_VD_MIX, // 人车混行防砸:有车后光耦/地感"或",离场 3s 内光耦有效持续防砸
|
||||
OUTPUT_MODE_ETC, // ETC:有车后光耦/地感"或",光耦断开需 500ms 防抖才释放继电器
|
||||
}DLD_OUTPUT_MODE;
|
||||
```
|
||||
|
||||
### 变量与取值变更
|
||||
|
||||
| 项目 | 旧 | 新 |
|
||||
|------|-----|-----|
|
||||
| 全局变量名 | `g_fm_radar_input_disable` | `g_output_radar_mode` |
|
||||
| 符号类型 | bit (0/1) | `uint8_t` (0~6) |
|
||||
| 取值来源 | `(function_mode >> 1) & 0x01` | `direction_mode & 0x0F` |
|
||||
| 解析位置 | `peripheral_main.c:para_store_init()` + `dbn_ble_srv.c:unpack_pkg_set_cjq_param()` | 同上 |
|
||||
| BLE 回读字段 | `g_function_mode` | `g_loop_cng_unit.direction_mode` (完整 8 位) |
|
||||
| `opt_input_poll` 门控 | `if (g_fm_radar_input_disable == 0)` → 雷达模式 return | `if (g_output_radar_mode)` → 非 0 模式 return |
|
||||
|
||||
### 实现状态
|
||||
|
||||
| 模式 | 状态 | 说明 |
|
||||
|------|------|------|
|
||||
| 0 — LOOP_X_RESET | ✅ 已实现 | PB10 低电平 ≥400ms(80 tick×5ms)后上升沿 `SYS_ResetExecute()` 芯片复位 |
|
||||
| 1~6 | ❌ 未实现 | `opt_input_poll()` 中直接 return |
|
||||
|
||||
### 文件变更
|
||||
|
||||
| 文件 | 变更 |
|
||||
|------|------|
|
||||
| `storage.h` | +`DLD_OUTPUT_MODE` 枚举 (7 种模式) |
|
||||
| `cmcng.h` | `g_fm_radar_input_disable` → `g_output_radar_mode` |
|
||||
| `peripheral_main.c` | 变量更名 + 解析路径改 `direction_mode & 0x0F` |
|
||||
| `dbn_ble_srv.c` | 同上 + BLE 回读改用 `direction_mode` 完整字段 |
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-22 — BLE 新增 RS485 地址/波特率读写 + 空闲关蓝牙超时 + 功能码细分
|
||||
|
||||
### 新增 BLE 命令
|
||||
|
||||
Reference in New Issue
Block a user