refactor(编号): 采集链分层 L1/L1.5/L2/L2.5/L3/L4/L5 → 语义名(批次 1)

用户裁定(2026-10-28):L1/L1.5/L2/L2.5/L3 这套层号「谁能看懂」,改用语义名。
映射(同一批定稿,含 L4/L5):
  L1   → 语义取数与有效性
  L1.5 → 标定折算
  L2   → 全周傅氏相量
  L2.5 → 测频与遥测快照
  L3   → 保护判据
  L4   → 出口与记录
  L5   → 动作留痕

实测规模:384 站点 / 62 文件(App/algo、App/task、test/host 六个套件、docs/算法、
产品需求、架构总览、启动顺序、ADC 采样节拍、IEC104 上行、采集短板评测、内存管理、
AGENTS.md、README.md、docs/README.md、.pre-commit-config.yaml 与 scripts 里的注释)。

改法(不是全局替换,逐模式有上下文规则):
- 先吃同位语再落裸词:L1 有效性校验 → 语义取数与有效性校验、L2 相量层 → 全周傅氏
  相量层、L3 保护 → 保护判据、L2.5 遥测快照 → 测频与遥测快照,避免「保护判据保护判据」
  这类重复(第一版就是这么坏掉的,已整体回滚重做)。
- .c/.h 只改注释:先把字符串字面量切出去(引号数为奇数的跨行注释按整行处理),
  C 字符串里的 L2-in ring 之类原样保留——AGENTS 铁律「字符串字面量必须纯 ASCII」。
- 层内条目号(L1-3 / L2-3 这类)**本批不动**,属批次 2;另外三族(UI 菜单层级
  L0~L3、链路延迟分段 L1~L8、CubeMX 防丢失三层)也不动,属批次 3。
- 顺手修的措辞:范围写法 L1~L3 → 「分层(语义取数与有效性 → 保护判据)」、
  CI 段「不含 L1/L2/L3」→「不含采集链分层」、目录地图里同一处并列表述。

验证:@build 0 错 0 警(Code=236456,与改前逐字节同尺寸——纯注释改动);
内存布局配图已按新脚本重生成(自检通过);doc-links --all --sections-strict 通过
(195 文档);mojibake / bom-guard / coding-standard / 新编号门禁自查 全 rc=0;
git diff --check 干净。
This commit is contained in:
2026-10-28 13:04:02 +08:00
parent 89b6132c1f
commit 593c5d0c84
62 changed files with 292 additions and 292 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* 模块名称:通道标定层(L1.5,adc_cal)主机侧单元测试
* 模块名称:通道标定层(标定折算,adc_cal)主机侧单元测试
* 被测对象:真实源文件 App/algo/adc_cal.c + App/cfg/cfg_file.c(均 #include
* 原样纳入——标定落盘与整定入口的持久化契约必须用真引擎测,不造轮子替身)。
* 平台依赖桩:dbg_log.h(stub/ 计数宏)、cfg_store_*(本文件内存
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""通道标定层(L1.5,adc_cal)主机侧单元测试运行器(L0.5,纯标准库)。
"""通道标定层(标定折算,adc_cal)主机侧单元测试运行器(L0.5,纯标准库)。
做什么:
用本机 MSVC 编译 test/host/adc_cal/adc_cal_test.c(它以 #include 纳入
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* 模块名称:ADC 输入层(L1)主机侧单元测试
* 模块名称:ADC 输入层(语义取数与有效性)主机侧单元测试
* 模块功能:在 PC 上对 App/algo/adc_input.c 做离线验证(8 个公开函数 + 2 个静态函数)。
*
* 被测对象:真实源文件 ../../../App/algo/adc_input.c(以 #include 原样纳入,
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""ADC 输入层(L1,adc_input)的主机侧单元测试运行器(L0.5,纯标准库)。
"""ADC 输入层(语义取数与有效性,adc_input)的主机侧单元测试运行器(L0.5,纯标准库)。
做什么:
用本机 MSVC 编译 test/host/adc_input/adc_input_test.c(它以 #include 纳入
+2 -2
View File
@@ -1,5 +1,5 @@
/*
* 模块名称:频率测量层(L2 派生量,B8)主机侧单元测试
* 模块名称:频率测量层(全周傅氏相量的派生量,B8)主机侧单元测试
* 模块功能:在 PC 上对 App/algo/freq.c + phasor.c + sample_ring.c 做离线验证。
*
* 被测对象:真实源文件(#include 原样纳入,纯算法无需桩):
@@ -72,7 +72,7 @@ static double s_noise_unit(void) { /* [-0.5, 0.5) */
}
/*
* 函数功能:合成一拍整帧并跑一遍 L2+测频链
* 函数功能:合成一拍整帧并跑一遍 全周傅氏相量+测频链
* 入口参数:f - 信号频率(Hz)
* amp - 基波峰值(码值)
* dc - 直流偏置(码值)
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""频率测量层(L2 派生量,B8)主机侧单元测试运行器(L0.5,纯标准库)。
"""频率测量层(全周傅氏相量的派生量,B8)主机侧单元测试运行器(L0.5,纯标准库)。
做什么:用本机 MSVC 离线编译 test/host/freq/freq_test.c(#include 纳入生产
源文件 App/algo/freq.c + phasor.c + sample_ring.c),验证相位解缠绕
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* 模块名称:遥测快照发布层(L2 派生·发布侧)主机侧单元测试
* 模块名称:遥测快照发布层(全周傅氏相量派生·发布侧)主机侧单元测试
* 被测对象:真实源文件(#include 原样纳入,测生产代码而非副本):
* App/algo/meas.c + App/algo/phasor.c + App/algo/sample_ring.c
* 三源均为纯算法(无寄存器/RTOS/文件依赖)→ **无需任何桩**。
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""遥测快照层(L2 发布侧,meas)主机侧单元测试运行器(L0.5,纯标准库)。
"""遥测快照层(全周傅氏相量发布侧,meas)主机侧单元测试运行器(L0.5,纯标准库)。
做什么:
用本机 MSVC 编译 test/host/meas/meas_test.c(它以 #include 纳入
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* 模块名称:相量层(L2)主机侧单元测试
* 模块名称:相量层(全周傅氏相量)主机侧单元测试
* 模块功能:在 PC 上对 App/algo/phasor.c + App/algo/sample_ring.c 做离线验证。
*
* 被测对象:真实源文件(以 #include 原样纳入,保证测的是生产代码而非副本):
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""相量层(L2)的主机侧单元测试运行器(L0.5,纯标准库)。
"""相量层(全周傅氏相量)的主机侧单元测试运行器(L0.5,纯标准库)。
做什么:
用本机 MSVC 编译 test/host/phasor/phasor_test.c(它以 #include 纳入**生产源文件**
+2 -2
View File
@@ -1,6 +1,6 @@
/*
* 模块名称:量纲回归主机侧单测(「数据可信」量纲回归用例 · 道A)
* 被测对象:真实源文件(#include 原样纳入,全链路 L1.5→L2→L3):
* 被测对象:真实源文件(#include 原样纳入,全链路 标定折算→全周傅氏相量→保护判据):
* adc_cal.c + prot_set.c + sample_ring.c + phasor.c + freq.c +
* prot_elm.c
* 平台依赖桩:dbg_log.h(stub/)、cfg_file_register(捕获计数)、
@@ -122,7 +122,7 @@ static int32_t dim_code(double eng, double b_codes) {
}
/* 一拍:三相量按 50 Hz 正弦(峰值 = rms×√2),其余电气量通道给 0 码值,
* TEMP 透传 0;随后跑真实 L2 链。 */
* TEMP 透传 0;随后跑真实 全周傅氏相量链。 */
static void dim_beat(double ia_rms, double ua_rms, double un_rms) {
float frame[ADC_SEM_COUNT];
double s50 = sin(2.0 * 3.14159265358979 * 50.0 * (double)s_t / 1000.0);
+3 -3
View File
@@ -1,12 +1,12 @@
/*
* 模块名称:保护元件框架(L3,P1 子集)主机侧单元测试
* 模块名称:保护元件框架(保护判据,P1 子集)主机侧单元测试
* 模块功能:在 PC 上对 App/algo/prot_elm.c 的判据核做离线验证。
*
* 被测对象:真实源文件(#include 原样纳入):
* prot_elm.c + prot_set.c(判据吃定值 RAM)
* phasor.c + sample_ring.c + freq.c(prot_elm.c 链接依赖;
* TC-PROTELEM-001~010 走 prot_elm_eval 纯判据路径,TC-PROTELEM-013 走
* run() 适配层 = 合成波形跑真实 L2+测频链)
* run() 适配层 = 合成波形跑真实 全周傅氏相量+测频链)
*
* 覆盖点(docs/算法/继电保护功能复现规划.md §3.3 三段式相间过流 等、§8 验收):
* TC-PROTELEM-001 init:全状态清零、动作位图 0
@@ -391,7 +391,7 @@ static void tc_uf_direction(void) {
CHECK(st.picked == 0u, "TC-PROTELEM-012 UF NOT picked at 52 (direction isolation)");
}
/* ---- run() 适配层驱动:合成波形跑真实 L2+测频链(同 freq_test 口径) ---- */
/* ---- run() 适配层驱动:合成波形跑真实 全周傅氏相量+测频链(同 freq_test 口径) ---- */
static uint32_t s_t = 0u;
static void drive_beat(double f, double amp) {
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""保护元件框架(L3,P1 子集)主机侧单元测试运行器(L0.5,纯标准库)。
"""保护元件框架(保护判据,P1 子集)主机侧单元测试运行器(L0.5,纯标准库)。
做什么:用本机 MSVC 离线编译 test/host/prot_elm/prot_elm_test.c(#include 纳入
生产源文件 prot_elm.c + prot_set.c + phasor.c + sample_ring.c),验证