fix(V4B): V4.36.33 — vac_ref 重锚阈值: 修 EMA 边缘污染触发高度漂移
V4.36.32 板测新问题(所有线圈): 板间隔几秒再压触发高度降一半, 多试几轮恢复 机制: EMA(α128 τ1.28s) 更新窗=±4×dlt(196) 太宽 — 板悬感应边缘(dev−20~−40) 当真空快学 → vac_ref=min(Origin,EMA)=EMA 低 → 触发线漂移; Origin 5s 满窗慢所以以前无感 修: vac_ref = (Origin−EMA > 1×dlt) ? EMA : Origin - J1 锚错 130(2.65dlt) 仍重锚; 边缘拉低 20~40(<1dlt) 忽略 - 未重锚最大偏差 48 → 真空 Origin−48 vs 释放线 −41 差 7 → 环带兜底覆盖不卡 语法0 error, 4测试全绿; spec V2.50 / devlog V2.68
This commit is contained in:
@@ -289,7 +289,11 @@ uint32_t get_flt_value_rel(uint32_t new_value, uint32_t last_value)
|
||||
static uint32_t vac_ref(void)
|
||||
{
|
||||
if (g_vacuum_ema == 0) return loop1_Origin;
|
||||
return (g_vacuum_ema < loop1_Origin) ? g_vacuum_ema : loop1_Origin;
|
||||
/* V4.36.33: 仅明显锚错(Origin 高于 EMA > 1×dlt)才重锚 EMA — 边缘金属悬停拉低 EMA 的小偏差忽略 */
|
||||
if ((int32_t)loop1_Origin - (int32_t)g_vacuum_ema >
|
||||
(int32_t)(loop1_dlt_ORG * VAC_REF_DELTA_DLT))
|
||||
return g_vacuum_ema;
|
||||
return loop1_Origin;
|
||||
}
|
||||
|
||||
static uint8_t rel_release_hit(void)
|
||||
|
||||
Reference in New Issue
Block a user