fix: 时序参数修正 — OUT/PULSE_DELAY 均为500ms

- OUT_DELAY: 1.9s→500ms (10 tick), SW_4=ON时生效, OFF时为0
- PULSE_DELAY: 950ms→500ms (10 tick), 固定不变
- 删除 OUT_DELAY_FAST/PULSE_DELAY_FAST, 仅保留一组值
- SW_4 语义: 0=无离开延时, 1=500ms离开延时
- 同步更新产品手册、技术规格书、README、devlog
This commit is contained in:
wangfq
2026-06-24 09:13:46 +08:00
parent fc459c911f
commit 2f6cb54847
6 changed files with 63 additions and 60 deletions

View File

@@ -23,12 +23,8 @@
#define HOLD_TIME (5 * 1200) // 有限存在保持(约 5 分钟)
#define LC_HOLD_TIME (4 * 1200) // 安全复位时间(约 4 分钟)
#define IN_DELAY 10 // 进入防抖 500ms
#define OUT_DELAY 38 // 离开防抖 1.9s
#define PULSE_DELAY 19 // 脉冲宽度 950ms
/* SW_4 快速模式:缩短离开防抖和脉冲宽度为 500ms */
#define OUT_DELAY_FAST 10 // 离开防抖快速 500ms
#define PULSE_DELAY_FAST 10 // 脉冲宽度快速 500ms
#define OUT_DELAY 10 // 离开防抖 500ms仅 SW_4=ON 时生效)
#define PULSE_DELAY 10 // 脉冲宽度 500ms
/*===========================================================================
* 滤波参数 — 对齐 M1H
@@ -119,7 +115,7 @@ extern uint8_t TM1cnt; // 50ms tick 分频计数
* 拨码开关状态
*===========================================================================*/
extern uint8_t SET_PLUS; // 0=存在输出, 1=脉冲输出
extern uint8_t SET_DLY; // 0=正常, 1=快速模式(500ms)
extern uint8_t SET_DLY; // 离开延时: 0=无, 1=500ms
extern uint8_t SET_SAFE; // 1=安全复位拨下
/*===========================================================================

View File

@@ -76,7 +76,7 @@ uint8_t TM1cnt = 0;
* 拨码开关状态
*===========================================================================*/
uint8_t SET_PLUS = 0;
uint8_t SET_DLY = 0; // 0=正常, 1=快速模式(500ms)
uint8_t SET_DLY = 0; // 离开延时: 0=无, 1=500ms
uint8_t SET_SAFE = 0;
/*===========================================================================
@@ -508,22 +508,27 @@ void TMR15_GLOBAL_IRQHandler(void)
}
}
/* FLAG_OUT: 离开延时(正常 1.9s,快速模式 500ms */
/* FLAG_OUT: 离开延时(SW_4=ON 时 500msOFF 时 0 */
if (loop1_FLAG_OUT) {
uint16_t out_delay = SET_DLY ? OUT_DELAY_FAST : OUT_DELAY;
loop1_OUTCNT++;
if (loop1_OUTCNT > out_delay) {
if (SET_DLY) {
loop1_OUTCNT++;
if (loop1_OUTCNT > OUT_DELAY) {
loop1_FLAG_OUT = 0;
loop1_FLAG_PLUSE = 1;
loop1_OUTCNT = 0;
}
} else {
/* 无离开延时:立即触发脉冲 */
loop1_FLAG_OUT = 0;
loop1_FLAG_PLUSE = 1;
loop1_OUTCNT = 0;
}
}
/* FLAG_PLUSE: 脉冲宽度(正常 950ms快速模式 500ms */
/* FLAG_PLUSE: 脉冲宽度 500ms */
if (loop1_FLAG_PLUSE) {
uint16_t pulse_delay = SET_DLY ? PULSE_DELAY_FAST : PULSE_DELAY;
loop1_OUTCNT++;
if (loop1_OUTCNT > pulse_delay) {
if (loop1_OUTCNT > PULSE_DELAY) {
loop1_FLAG_PLUSE = 0;
loop1_OUTCNT = 0;
}