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:
@@ -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,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,5 +1,5 @@
|
||||
/*
|
||||
* 模块名称:ADC 输入层(L1)主机侧单元测试
|
||||
* 模块名称:ADC 输入层(语义取数与有效性)主机侧单元测试
|
||||
* 模块功能:在 PC 上对 App/algo/adc_input.c 做离线验证(8 个公开函数 + 2 个静态函数)。
|
||||
*
|
||||
* 被测对象:真实源文件 ../../../App/algo/adc_input.c(以 #include 原样纳入,
|
||||
|
||||
@@ -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 纳入
|
||||
|
||||
@@ -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,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,5 +1,5 @@
|
||||
/*
|
||||
* 模块名称:遥测快照发布层(L2 派生·发布侧)主机侧单元测试
|
||||
* 模块名称:遥测快照发布层(全周傅氏相量派生·发布侧)主机侧单元测试
|
||||
* 被测对象:真实源文件(#include 原样纳入,测生产代码而非副本):
|
||||
* App/algo/meas.c + App/algo/phasor.c + App/algo/sample_ring.c
|
||||
* 三源均为纯算法(无寄存器/RTOS/文件依赖)→ **无需任何桩**。
|
||||
|
||||
@@ -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,5 +1,5 @@
|
||||
/*
|
||||
* 模块名称:相量层(L2)主机侧单元测试
|
||||
* 模块名称:相量层(全周傅氏相量)主机侧单元测试
|
||||
* 模块功能:在 PC 上对 App/algo/phasor.c + App/algo/sample_ring.c 做离线验证。
|
||||
*
|
||||
* 被测对象:真实源文件(以 #include 原样纳入,保证测的是生产代码而非副本):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""相量层(L2)的主机侧单元测试运行器(L0.5,纯标准库)。
|
||||
"""相量层(全周傅氏相量)的主机侧单元测试运行器(L0.5,纯标准库)。
|
||||
|
||||
做什么:
|
||||
用本机 MSVC 编译 test/host/phasor/phasor_test.c(它以 #include 纳入**生产源文件**
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,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),验证
|
||||
|
||||
Reference in New Issue
Block a user