feat(V4B): V4.36.4 — 绿灯=RLY1 继电器实际输出状态指示
现场误判根因: 断开时 poll_green_led 强制绿灯灭, 而 V4.36.3 保持 逻辑下继电器仍吸合 → 灯/继电器脱节 → 误判继电器释放 改动: 稳定后绿灯镜像 RLY1_GPIO->odt (吸合亮/释放灭), 删断开 强制灭分支 → 有车断开保持期绿灯亮(与继电器一致); 自检期慢闪不变 语法0 error, 4测试全绿; spec V2.20 / manual 灯表 / devlog V2.38
This commit is contained in:
@@ -14,11 +14,11 @@
|
||||
#define __CMCNG_H__
|
||||
|
||||
#define PRODUCT_MODEL "DLD154"
|
||||
#define FIRMWARE_VER "4.36.3" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
||||
#define FIRMWARE_VER "4.36.4" // 主.子.修订 (2026-09-03 起: 小改动只增 REV; MAIN/SUB 由产品定)
|
||||
#define HARDWARE_VER "3.00"
|
||||
#define FIRMWARE_VER_MAIN 4
|
||||
#define FIRMWARE_VER_SUB 36
|
||||
#define FIRMWARE_VER_REV 3
|
||||
#define FIRMWARE_VER_REV 4
|
||||
#define HARDWARE_VER_MAIN 3
|
||||
#define HARDWARE_VER_SUB 0
|
||||
|
||||
|
||||
@@ -274,9 +274,13 @@ void LEDA_ON_OFF(void)
|
||||
*
|
||||
* 模式:
|
||||
* 自检/稳定中 (loop1_INI_LOOP || 线圈未连 || !g_loop_stable):
|
||||
* → 慢闪 (200ms 亮 / 200ms 灭)
|
||||
* 正常工作:
|
||||
* → 有车亮 (VD_FLAG==1), 无车灭
|
||||
* → 慢闪 (200ms 亮 / 200ms 灭) — 就绪过程指示, 此阶段继电器未驱动
|
||||
* 稳定后 (V4.36.4):
|
||||
* → 绿灯 = RLY1 继电器实际输出状态 (镜像 PA6 odt):
|
||||
* 吸合(PA6 高) → 绿灯亮; 释放(PA6 低) → 绿灯灭
|
||||
* - 有车/离开延时(存在模式) → 亮; 脉冲输出中 → 短亮
|
||||
* - 有车断开保持(RELAY_HOLD_MS)期间 → 保持亮 (与继电器一致)
|
||||
* - 断开超时释放/无车 → 灭
|
||||
*===========================================================================*/
|
||||
void poll_green_led(void)
|
||||
{
|
||||
@@ -284,14 +288,7 @@ void poll_green_led(void)
|
||||
|
||||
static uint16_t _slow_tick = 0;
|
||||
|
||||
/*--- 线圈断开中 → 灭(黄灯快闪负责故障指示) ---*/
|
||||
if (g_disconnect_active) {
|
||||
LEDA_OFF;
|
||||
_slow_tick = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/*--- 自检阶段:慢闪 ---*/
|
||||
/*--- 自检阶段:慢闪(就绪过程指示;此阶段继电器未驱动) ---*/
|
||||
if (loop1_INI_LOOP || !g_loop_power_up_state || !g_loop_stable) {
|
||||
_slow_tick++;
|
||||
if (_slow_tick >= GREEN_SLOW_HALF) {
|
||||
@@ -301,12 +298,15 @@ void poll_green_led(void)
|
||||
return;
|
||||
}
|
||||
|
||||
/*--- 正常工作:车辆存在指示 ---*/
|
||||
/*--- 稳定后: 绿灯 = RLY1 继电器实际输出状态 (V4.36.4) ---
|
||||
* 读 RLY1_GPIO->odt (与 RLY1_ON/OFF 宏同源, 即真实驱动状态):
|
||||
* 吸合(高) → 绿灯亮; 释放(低) → 绿灯灭
|
||||
* 断开时无强制灭分支 → 与继电器保持逻辑一致 (防误判"继电器释放") */
|
||||
_slow_tick = 0;
|
||||
if (loop1_VD_FLAG)
|
||||
LEDA_ON;
|
||||
if (RLY1_GPIO->odt & RLY1_PIN)
|
||||
LEDA_ON; // 继电器吸合 → 绿灯亮 (PA9 低电平点亮)
|
||||
else
|
||||
LEDA_OFF;
|
||||
LEDA_OFF; // 继电器释放 → 绿灯灭
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user