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:
@@ -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=安全复位拨下
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
@@ -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 时 500ms,OFF 时 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user