refactor: 融合模式枚举重排,地感且光耦后移

0=或 1=混行 2=ETC 3=且 4=仅地感 5=仅光耦 6=复位
- storage.h: AND_RADAR 从位置 2 移至位置 4
- peripheral_main.c: 注释块 MODE 标签及内联模式号同步
- 全部 4 份文档表格/节号/版本号对齐
This commit is contained in:
wangfq
2026-07-30 09:01:12 +08:00
parent 8a01a5e769
commit ccd996d56e
6 changed files with 56 additions and 26 deletions
@@ -180,9 +180,9 @@ extern Loop_ACS_Info g_loop_acs_info;
typedef enum _DLD_OUTPUT_MODE
{
OUTPUT_MODE_LOOP_OR_RADAR = 0, // 地感或雷达,雷达的输出信号接光耦输入,雷达或地感有信号,车检器的继电器输出。
OUTPUT_MODE_LOOP_AND_RADAR, // 地感和雷达,雷达的输出信号接光耦输入,雷达 并且 地感都有信号,车检器继电器才输出。
OUTPUT_MODE_HUMAN_VD_MIX, // 人车混行,雷达的输出信号接光耦输入,刚开始屏蔽雷达信号,当地感检测有车、车检器继电器输出后,车检器对地感 或雷达信号都有效(或的关系),车辆离开地感与雷达检测区域后,三秒内雷达检测有效,车检器继电器立即输出,起到防砸人的效果,连续进入持续防砸、人走落杆。
OUTPUT_MODE_ETC, // ETC模式,雷达的输出信号接光耦输入,刚开始屏蔽雷达信号,当地感检测有车、车检器继电器输出后,车检器对地感 或雷达信号都有效(或的关系),雷达输出断开后会有500ms的防抖超时时间,超时时间结束后,车检器才确定释放继电器。
OUTPUT_MODE_LOOP_AND_RADAR, // 地感和雷达,雷达的输出信号接光耦输入,雷达 并且 地感都有信号,车检器继电器才输出。
OUTPUT_MODE_LOOP_ONLY, // 仅地感输出 有效,光耦输入 无效
OUTPUT_MODE_RADAR_ONLY, // 仅光耦输入有效,雷达的输出信号接光耦输入,雷达有输出,车检器的继电器输出;地感信号 无效。
OUTPUT_MODE_LOOP_X_RESET, // 光耦输入为 设备 复位信号,仅地感检测 输出
@@ -853,13 +853,13 @@ void cjq_srv(void){
*
* 产出 g_opt_trigger (1=有效, 0=无效),供继电器输出段融合判决。
* 各模式逻辑:
* MODE 0 (LOOP_X_RESET): 光耦=复位信号,≥400ms 低电平后上升沿芯片复位
* MODE 1 (LOOP_ONLY): 光耦忽略,g_opt_trigger=0
* MODE 2 (RADAR_ONLY): g_opt_trigger = 光耦信号 (3 样本多数表决防抖)
* MODE 3 (LOOP_OR): g_opt_trigger = 光耦信号
* MODE 4 (LOOP_AND): g_opt_trigger = 光耦信号
* MODE 5 (HUMAN_VD_MIX): 状态机 — 屏蔽→地感触发后解禁→离场 3s 防砸窗口
* MODE 6 (ETC): 状态机 — 屏蔽→地感触发后解禁→光耦断开 500ms 防抖
* MODE 0 (LOOP_OR_RADAR): g_opt_trigger = 光耦信号, 或关系
* MODE 1 (HUMAN_VD_MIX): 状态机 — 屏蔽→地感触发后解禁→离场 3s 防砸窗口
* MODE 2 (ETC): 状态机 — 屏蔽→地感触发后解禁→光耦断开 500ms 防抖
* MODE 3 (LOOP_AND_RADAR): g_opt_trigger = 光耦信号, 且关系
* MODE 4 (LOOP_ONLY): 光耦忽略, g_opt_trigger=0
* MODE 5 (RADAR_ONLY): g_opt_trigger = 光耦信号 (3 样本多数表决防抖)
* MODE 6 (LOOP_X_RESET): 光耦=复位信号,≥400ms 低电平后上升沿芯片复位
*
* 注意: mstick() 单位 5ms/tick
*===========================================================================*/
@@ -923,7 +923,7 @@ static void opt_input_poll(void)
}
/*================================================================
* 模式 0/1/5 — 或 / / 纯雷达
* 模式 0/3/5 — 或 / / 纯雷达
* g_opt_trigger 直出光耦信号, 融合判决在继电器输出段
*================================================================*/
if (g_output_radar_mode == OUTPUT_MODE_RADAR_ONLY ||
@@ -934,7 +934,7 @@ static void opt_input_poll(void)
}
/*================================================================
* 模式 2/3 — 人车混行 / ETC (状态机)
* 模式 1/2 — 人车混行 / ETC (状态机)
*================================================================*/
{
static uint8_t _opt_state = OPT_STATE_IDLE;