feat(adc): UN 标定完成、标定脚本归集到 test/host/cal/
CI / 静态门禁 (pre-commit) (push) Failing after 4m15s
CI / 主机侧单测 (MSVC) (push) Failing after 1m41s

- UN 通道 5 点最小二乘标定完成:r=555.382141, b=-1, 残差 0.038%, R²=0.99999967
- UA/IA/UN 三路 VALID 置位,保护解卡
- ROM 默认值更新为当前标定值(ADC_CAL_R_Q16_VOLT=555.144958)
- UB/UC/UN 通过 104 写入 ROM 默认值,config.ini 同步
- cal_fit.py 新增 ROLD 表自动读取,不再需要手传 --r-old
- 执行卡精简至 126 行,新增 cal_collect.py 采集脚本与 ROLD 填表
- 标定脚本(cal_fit/cal_write/cal_collect)归集到 test/host/cal/
- 全库文档路径引用同步更新(8 文件)
- UN 当前态文档改写:明确零序电压 U0 语义、本台架未接线状态
- 删除已失效的外部知识底座文档链接
This commit is contained in:
2026-11-13 11:26:36 +08:00
parent 7c505b2457
commit 40a2816a99
23 changed files with 327 additions and 331 deletions
+1 -1
View File
@@ -115,7 +115,7 @@ adcTask 现取现填后交棒,本层不复制第二个事实源)。两份录
(停在引脚电压,不回退),同样不报 VALID。
- `adc_cal_set()` / `adc_cal_set_ratio()`:整定与变比写入两个入口(写前做 k/r/b 合法带拦截,
防工具写坏参数);**拟合不在本层**——N 点最小二乘是台架离线动作,唯一实现在
`test/host/cal_fit.py`(`--selftest` 是它的回归锚点)。
`test/host/cal/cal_fit.py`(`--selftest` 是它的回归锚点)。
**台架多点标定待实测**,本层不含注入(读数来源与判读口径见该脚本)。
- cfg 三段 `[adc_cal]` / `[adc_cal_ofs]` / `[adc_cal_sec]` **不挂回调**(RAM 副本即生效值,
引擎 load/poll 原地改写,逐点现读);注册在 `app_main_init()` 内核前完成,
+2 -2
View File
@@ -121,8 +121,8 @@ extern "C" {
* r = 0 是合法值,语义 = 「本路不折算,输出停在 ADC 引脚电压」——TEMP 恒此态,
* 也是现场关掉某路折算的显式手段(不是 1.0)。
*/
#define ADC_CAL_R_Q16_VOLT (65536000L) /* 1000.0 V/V */
#define ADC_CAL_R_Q16_CURR (1927532L) /* 29.4118 A/V */
#define ADC_CAL_R_Q16_VOLT (36381980L) /* 555.144958 V/V (2026-11-13 bench, 5-pt LSQ) */
#define ADC_CAL_R_Q16_CURR (1940570L) /* 29.610748 A/V (2026-11-13 bench, 5-pt LSQ) */
/* 变比合法带(Q16):**0 = 本路不折算**,或落在 [ADC_CAL_R_MIN, ADC_CAL_R_MAX](比值 1.0 ~ 32767.99)。
* 为什么用绝对带而不是像 k 那样用 ROM×[0.5,2.0]:k 的窄带是为了容纳晶体/基准的板间差,