feat(V4B): 方案B实验 V4.05 — USE_SLOW_RELEASE=0 + 调深释放阈值表 ReleaseTable_B
对比路线(与V4.04方案A A/B): 释放走快滤波(无慢滤波状态, 消除悬停风险),
手感对齐改由调深释放表 {80,42,27,18}(原始{60,32,21,14}加深30%)承担。
⚠关键认知(仿真+单测双确认): 释放方向是CAPVD向Origin恢复,
dlt增大(调深)→释放线降低→释放更早(与'调深=更严格'直觉相反)。
仿真预测: 深信号(≥0.2%)原始表更接近PD132T; 浅信号(0.1%)加深表更接近。
单测: tests/test_planb_release.c 新增(滞回为正✓/加深表释放≤原始表✓/释放时刻合理✓)
test_release_slow_filter.c(方案A)仍通过, 两方案可回归
文档: devlog V2.14 + technical-spec §4.3.3 方案B段
This commit is contained in:
@@ -15,6 +15,9 @@
|
||||
*===========================================================================*/
|
||||
const uint16_t SensTable[4] = {300, 60, 32, 21}; // V2.11: 全档与 PD132T SensTable 完全一致 (0.458%/0.092%/0.049%/0.032% df/f)
|
||||
const uint16_t SensTable_1[4] = { 60, 32, 21, 14}; // V2.11: 离开分档与 PD132T 完全一致 (SENUP 标贴OFF=SET_ASB=1=出厂默认)
|
||||
#if USE_PLANB_TABLE
|
||||
const uint16_t ReleaseTable_B[4] = RELEASE_TABLE_B; // 方案B: 调深释放表 (V4.05 实验, 见 TaskLoop.h 注释)
|
||||
#endif
|
||||
|
||||
/*===========================================================================
|
||||
* 全局状态变量 — 捕获 & 测量
|
||||
@@ -881,12 +884,16 @@ void vd1_task(void)
|
||||
/*================================================================
|
||||
* 有车状态 — 简单 cnt_release 防抖离开
|
||||
*================================================================*/
|
||||
#if USE_PLANB_TABLE
|
||||
loop1_dlt_ORG = ((uint32_t)loop1_Origin * ReleaseTable_B[loop1_SensLevel]) >> 16; // 方案B: 调深释放表(V4.05)
|
||||
#else
|
||||
loop1_dlt_ORG = ((uint32_t)loop1_Origin * SensTable_1[loop1_SensLevel]) >> 16;
|
||||
#endif
|
||||
|
||||
#if USE_SLOW_RELEASE
|
||||
if ((loop1_Origin - loop1_dlt_ORG) < loop1_CAPVD_slow) { // 方案A: 用慢滤波值对齐 PD132T 释放手感
|
||||
#else
|
||||
if ((loop1_Origin - loop1_dlt_ORG) < loop1_CAPVD) { // 原逻辑: 快滤波直接判释放
|
||||
if ((loop1_Origin - loop1_dlt_ORG) < loop1_CAPVD) { // 方案B/原逻辑: 快滤波直接判释放
|
||||
#endif
|
||||
loop1_cnt_release++;
|
||||
if (loop1_cnt_release >= 3) {
|
||||
|
||||
Reference in New Issue
Block a user