merge: task/wave-record 合入 v2-on-ui(故障录波数据面与单通道回放页)
冲突两处与处置 - docs/子系统设计/故障录波设计说明.md §5.2:上游把这张表交给格式化器重排,多出一列 空列,并把「FA_WRITE 竖线 FA_OPEN_APPEND」里的竖线当成分隔符打断,标志位写法已损坏。 取我方四条陷阱版(含实现期复核新增的第四条:搬段途中环被解冻甚至已换段 → 关档后 复检环侧身份判废),并把标志位里的竖线转义(与 运行与自检记录设计说明.md 同一写法)。 上游在表后新增的「取窗竞态的原因」配图不是本任务内容,原样保留未删。 - scripts/size_attestation.json:不手工拼接,改为合并后在主树重新构建再重盖凭证。 顺手修一处上一轮我引入的排版断行 - docs/任务规划/数据可信.md §4.6.5「跨转换器相位」那一行少一个分隔符,三列表渲染成 两列;同时把引用从 §7 精确回 §7.1(链路分段)。合并面 68 个文档、46 张表逐张核对 列数一致,命中 0。 合并态权威构建(主树,本次凭证的来源) - 0 错误 0 警告;Code=243,552 / RO=28,784 / RW=1,972 / ZI=145,388;RW_IRAM1 89,936 B (68.6%)/ RW_CCM 57,376 B(87.9%)——与任务树逐项相同:上游自 merge-base 起对代码 只改了 sample_ring 的注释与函数头,故台账数字无需重排,仅重盖同码凭证。 - 上游 14 个提交带来的门禁与技能改造(skill-size 钩子、五个技能正文外置)与本波正交, 真重叠只有 docs/门禁说明/README.md 与 docs/测试说明/主机单测覆盖率口径.md 两处, 按 hunk 距离自动并上,已逐项核对。 状态与后续 - 台架三条判据(注 1 V/50 Hz 对表、FTP 拉回比对、与 meas 及 104 同表读数)按用户裁定 保持未完成,卡片不销项;本笔交付的是软件闭环。 - 全仓计数清扫(主机单测 41 → 44 套、无专属钩子 19 → 22 套、黄金 60 → 66 张、提交 钩子数口径、两处钩子显示名)另开一笔,不与本笔混编。 - docs/任务规划/** 本应在主工作树改,本波由用户在任务树显式豁免、随本笔合回。
This commit is contained in:
@@ -339,8 +339,8 @@ def main(argv=None):
|
||||
ap.add_argument("--selftest", action="store_true", help="正例照得出 + 反例不误报 + 基线机制有效")
|
||||
args = ap.parse_args(argv)
|
||||
|
||||
if not os.path.isdir(os.path.join(REPO, ".git")):
|
||||
print("[ENV] 仓库根定位失败:%s 里没有 .git" % REPO)
|
||||
if not os.path.exists(os.path.join(REPO, ".git")):
|
||||
print("[ENV] 仓库根定位失败:%s 里没有 .git(目录或 worktree 的 gitdir 文件都算)" % REPO)
|
||||
return 2
|
||||
|
||||
print("=== 块注释嵌套检查 check_nested_comment.py(注释体内出现 /* = ARMCC 诊断 9-D)===")
|
||||
|
||||
@@ -11,4 +11,4 @@ date code ro rw zi er_irom1 er_pct iram1 iram1_pct ccm ccm_pct top_rwzi
|
||||
2026-10-26 231712 25560 1520 136216 257272 24.5 80312 61.3 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4003;default_task.o=2736
|
||||
2026-10-27 235372 26392 1572 136924 261764 25.0 81072 61.9 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055;default_task.o=2736
|
||||
2026-10-28 236456 28124 1876 137084 264580 25.2 81536 62.2 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055;default_task.o=2736
|
||||
2026-10-29 236456 28124 1876 137084 264580 25.2 81536 62.2 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055;default_task.o=2736
|
||||
2026-10-29 243552 28784 1972 145388 272336 26.0 89936 68.6 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;wave_ring.o=5296;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055
|
||||
|
||||
|
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"built_at": "2026-10-29T17:51:46+08:00",
|
||||
"fingerprint": "d9848eb18efe7902c936a791c0b649900c0088d4f2c582e0a71d9998ba9ae0f4",
|
||||
"fingerprint_files": 1452,
|
||||
"built_at": "2026-10-29T19:31:06+08:00",
|
||||
"fingerprint": "5cc78605efbb7dd87e23d66915406c8487ee3f286a28ca50c8932693e3a4c614",
|
||||
"fingerprint_files": 1460,
|
||||
"fingerprint_source": "git-index",
|
||||
"gated_regions": [
|
||||
"RW_IRAM1",
|
||||
"RW_CCM"
|
||||
],
|
||||
"git_head": "c51ac2e8ef09dbd51b1e81a82b73becc55ca1c3e",
|
||||
"git_head": "efda416f427cea35465707cb26bf2f6517e732bc",
|
||||
"map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map",
|
||||
"map_mtime": 1793267423,
|
||||
"map_mtime": 1793273428,
|
||||
"pct": {
|
||||
"ER_IROM1": 25.23,
|
||||
"ER_IROM1": 25.97,
|
||||
"RW_CCM": 87.89,
|
||||
"RW_IRAM1": 62.21,
|
||||
"RW_IRAM1": 68.62,
|
||||
"UNINIT_CCM": 18.75
|
||||
},
|
||||
"regions": {
|
||||
"ER_IROM1": {
|
||||
"max": 1048576,
|
||||
"size": 264580
|
||||
"size": 272336
|
||||
},
|
||||
"RW_CCM": {
|
||||
"max": 65280,
|
||||
@@ -27,7 +27,7 @@
|
||||
},
|
||||
"RW_IRAM1": {
|
||||
"max": 131072,
|
||||
"size": 81536
|
||||
"size": 89936
|
||||
},
|
||||
"UNINIT_CCM": {
|
||||
"max": 256,
|
||||
@@ -37,10 +37,10 @@
|
||||
"schema": 2,
|
||||
"scope_note": "\u540c\u7801\u51ed\u8bc1\uff1a\u6307\u7eb9\u8986\u76d6\u56fa\u4ef6\u4f53\u79ef\u76f8\u5173\u6e90\u7801\uff0c\u53e3\u5f84\u89c1\u672c\u811a\u672c docstring",
|
||||
"sizes": {
|
||||
"code": 236456,
|
||||
"ro_data": 28124,
|
||||
"rw_data": 1876,
|
||||
"zi_data": 137084
|
||||
"code": 243552,
|
||||
"ro_data": 28784,
|
||||
"rw_data": 1972,
|
||||
"zi_data": 145388
|
||||
},
|
||||
"threshold_pct": 92.0,
|
||||
"worktree_dirt_at_stamp": 0,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"files": {
|
||||
"App/algo/adc_cal.c": {
|
||||
"func_rate": 1.0,
|
||||
"func_rate": 0.9412,
|
||||
"funcs_covered": 16,
|
||||
"funcs_valid": 16,
|
||||
"line_rate": 0.986,
|
||||
"funcs_valid": 17,
|
||||
"line_rate": 0.9463,
|
||||
"lines_covered": 141,
|
||||
"lines_valid": 143
|
||||
"lines_valid": 149
|
||||
},
|
||||
"App/algo/adc_health.c": {
|
||||
"func_rate": 1.0,
|
||||
@@ -80,6 +80,22 @@
|
||||
"lines_covered": 41,
|
||||
"lines_valid": 41
|
||||
},
|
||||
"App/algo/wave_ring.c": {
|
||||
"func_rate": 1.0,
|
||||
"funcs_covered": 15,
|
||||
"funcs_valid": 15,
|
||||
"line_rate": 0.9956,
|
||||
"lines_covered": 225,
|
||||
"lines_valid": 226
|
||||
},
|
||||
"App/algo/wave_store.c": {
|
||||
"func_rate": 1.0,
|
||||
"funcs_covered": 29,
|
||||
"funcs_valid": 29,
|
||||
"line_rate": 0.9612,
|
||||
"lines_covered": 446,
|
||||
"lines_valid": 464
|
||||
},
|
||||
"App/cfg/cfg_file.c": {
|
||||
"func_rate": 0.963,
|
||||
"funcs_covered": 26,
|
||||
@@ -345,12 +361,12 @@
|
||||
"lines_valid": 112
|
||||
},
|
||||
"Drivers/BSP/UI/ui_data.c": {
|
||||
"func_rate": 0.9767,
|
||||
"func_rate": 0.8235,
|
||||
"funcs_covered": 42,
|
||||
"funcs_valid": 43,
|
||||
"line_rate": 0.9637,
|
||||
"funcs_valid": 51,
|
||||
"line_rate": 0.8692,
|
||||
"lines_covered": 372,
|
||||
"lines_valid": 386
|
||||
"lines_valid": 428
|
||||
},
|
||||
"Drivers/BSP/UI/ui_net_sink.c": {
|
||||
"func_rate": 0.7692,
|
||||
@@ -373,10 +389,10 @@
|
||||
"modules": {
|
||||
"adc_cal": {
|
||||
"files": {
|
||||
"App/algo/adc_cal.c": 143,
|
||||
"App/algo/adc_cal.c": 149,
|
||||
"App/cfg/cfg_file.c": 689
|
||||
},
|
||||
"lines_total": 832,
|
||||
"lines_total": 838,
|
||||
"ok": true
|
||||
},
|
||||
"adc_health": {
|
||||
@@ -447,7 +463,7 @@
|
||||
},
|
||||
"iec104": {
|
||||
"files": {
|
||||
"App/algo/adc_cal.c": 143,
|
||||
"App/algo/adc_cal.c": 149,
|
||||
"App/algo/freq.c": 130,
|
||||
"App/algo/meas.c": 64,
|
||||
"App/algo/phasor.c": 55,
|
||||
@@ -461,7 +477,7 @@
|
||||
"App/protocol/iec104/iec104_link.c": 405,
|
||||
"App/protocol/iec104/iec104_pts.c": 255
|
||||
},
|
||||
"lines_total": 2365,
|
||||
"lines_total": 2371,
|
||||
"ok": true
|
||||
},
|
||||
"iec104_serv": {
|
||||
@@ -562,14 +578,14 @@
|
||||
},
|
||||
"prot_dim": {
|
||||
"files": {
|
||||
"App/algo/adc_cal.c": 143,
|
||||
"App/algo/adc_cal.c": 149,
|
||||
"App/algo/freq.c": 130,
|
||||
"App/algo/phasor.c": 55,
|
||||
"App/algo/prot_elm.c": 122,
|
||||
"App/algo/prot_set.c": 179,
|
||||
"App/algo/sample_ring.c": 41
|
||||
},
|
||||
"lines_total": 670,
|
||||
"lines_total": 676,
|
||||
"ok": true
|
||||
},
|
||||
"prot_elm": {
|
||||
@@ -600,11 +616,11 @@
|
||||
},
|
||||
"run_par": {
|
||||
"files": {
|
||||
"App/algo/adc_cal.c": 143,
|
||||
"App/algo/adc_cal.c": 149,
|
||||
"App/algo/run_par.c": 129,
|
||||
"App/cfg/cfg_file.c": 689
|
||||
},
|
||||
"lines_total": 961,
|
||||
"lines_total": 967,
|
||||
"ok": true
|
||||
},
|
||||
"sha256": {
|
||||
@@ -660,10 +676,10 @@
|
||||
},
|
||||
"ui_data": {
|
||||
"files": {
|
||||
"Drivers/BSP/UI/ui_data.c": 386,
|
||||
"Drivers/BSP/UI/ui_data.c": 428,
|
||||
"Drivers/BSP/UI/ui_w_soe.c": 62
|
||||
},
|
||||
"lines_total": 448,
|
||||
"lines_total": 490,
|
||||
"ok": true
|
||||
},
|
||||
"ui_sink": {
|
||||
@@ -693,6 +709,29 @@
|
||||
},
|
||||
"lines_total": 73,
|
||||
"ok": true
|
||||
},
|
||||
"wave_ring": {
|
||||
"files": {
|
||||
"App/algo/wave_ring.c": 226,
|
||||
"App/algo/wave_store.c": 464
|
||||
},
|
||||
"lines_total": 690,
|
||||
"ok": true
|
||||
},
|
||||
"wave_store": {
|
||||
"files": {
|
||||
"App/algo/wave_store.c": 464
|
||||
},
|
||||
"lines_total": 464,
|
||||
"ok": true
|
||||
},
|
||||
"wave_trig": {
|
||||
"files": {
|
||||
"App/algo/wave_ring.c": 226,
|
||||
"App/algo/wave_store.c": 464
|
||||
},
|
||||
"lines_total": 690,
|
||||
"ok": true
|
||||
}
|
||||
},
|
||||
"note": "主机单测覆盖率基线。口径与工具链限制见 docs/测试说明/主机单测覆盖率口径.md。门禁判据:files[].lines_covered 与 funcs_covered 只增不减,下降即拦提交。",
|
||||
@@ -708,6 +747,8 @@
|
||||
"App/algo/prot_set.c",
|
||||
"App/algo/run_par.c",
|
||||
"App/algo/sample_ring.c",
|
||||
"App/algo/wave_ring.c",
|
||||
"App/algo/wave_store.c",
|
||||
"App/cfg/cfg_file.c",
|
||||
"App/cfg/cfg_file_store_mcu.c",
|
||||
"App/cfg/prot_set_store.c",
|
||||
@@ -747,16 +788,16 @@
|
||||
],
|
||||
"totals": {
|
||||
"files_generated_excluded": 5,
|
||||
"files_tested": 46,
|
||||
"files_untested": 151,
|
||||
"func_rate": 0.9317,
|
||||
"funcs_covered": 532,
|
||||
"funcs_valid": 571,
|
||||
"line_rate": 0.8983,
|
||||
"lines_covered": 7058,
|
||||
"lines_valid": 7857,
|
||||
"modules_ok": 41,
|
||||
"modules_total": 41
|
||||
"files_tested": 48,
|
||||
"files_untested": 169,
|
||||
"func_rate": 0.9231,
|
||||
"funcs_covered": 576,
|
||||
"funcs_valid": 624,
|
||||
"line_rate": 0.8992,
|
||||
"lines_covered": 7729,
|
||||
"lines_valid": 8595,
|
||||
"modules_ok": 44,
|
||||
"modules_total": 44
|
||||
},
|
||||
"untested_sources": [
|
||||
{
|
||||
@@ -768,9 +809,21 @@
|
||||
"path": "Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 407,
|
||||
"code_lines": 486,
|
||||
"path": "App/task/ui_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 466,
|
||||
"path": "App/task/default_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 420,
|
||||
"path": "App/app/ui_data_feed.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 369,
|
||||
"path": "App/task/adc_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 353,
|
||||
"path": "Drivers/BSP/UI/ui_w_setview.c"
|
||||
@@ -783,10 +836,6 @@
|
||||
"code_lines": 300,
|
||||
"path": "Drivers/BSP/UI/ui_content_page.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 286,
|
||||
"path": "App/task/default_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 265,
|
||||
"path": "Drivers/BSP/UI/ui_w_editor.c"
|
||||
@@ -796,8 +845,12 @@
|
||||
"path": "Drivers/BSP/SD2506/sd2506.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 249,
|
||||
"path": "App/task/adc_task.c"
|
||||
"code_lines": 248,
|
||||
"path": "Drivers/BSP/UI/ui_page_wave_play.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 230,
|
||||
"path": "Drivers/BSP/UI/ui_data.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 218,
|
||||
@@ -807,10 +860,6 @@
|
||||
"code_lines": 215,
|
||||
"path": "Drivers/BSP/UI/ui_w_setlist.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 214,
|
||||
"path": "App/task/ui_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 206,
|
||||
"path": "Drivers/BSP/CH395F/ch395f.h"
|
||||
@@ -827,14 +876,18 @@
|
||||
"code_lines": 200,
|
||||
"path": "Drivers/BSP/UI/ui_w_ytview.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 196,
|
||||
"path": "Drivers/BSP/UI/ui_data.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 157,
|
||||
"path": "Drivers/BSP/TPAFE5160/tpafe5160.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 152,
|
||||
"path": "Drivers/BSP/UI/ui_page_runreport.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 150,
|
||||
"path": "App/algo/wave_store.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 150,
|
||||
"path": "Drivers/BSP/UI/ui_page_password.c"
|
||||
@@ -844,11 +897,11 @@
|
||||
"path": "Drivers/BSP/UI/ui_page_device_info.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 134,
|
||||
"code_lines": 142,
|
||||
"path": "App/task/protect_task.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 132,
|
||||
"code_lines": 135,
|
||||
"path": "App/app/app_main.c"
|
||||
},
|
||||
{
|
||||
@@ -911,6 +964,10 @@
|
||||
"code_lines": 77,
|
||||
"path": "Drivers/BSP/dbg_log.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 75,
|
||||
"path": "App/algo/wave_ring.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 69,
|
||||
"path": "Drivers/BSP/UI/ui_page_dc.c"
|
||||
@@ -999,6 +1056,10 @@
|
||||
"code_lines": 40,
|
||||
"path": "Drivers/BSP/UI/ui_page_deadband.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 38,
|
||||
"path": "Drivers/BSP/UI/ui_page_wave_manual.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 36,
|
||||
"path": "Drivers/BSP/UI/ui_w_records.h"
|
||||
@@ -1023,6 +1084,10 @@
|
||||
"code_lines": 33,
|
||||
"path": "Drivers/BSP/UI/ui_page_action.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 32,
|
||||
"path": "App/algo/adc_cal.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 32,
|
||||
"path": "App/util/boot_stats.h"
|
||||
@@ -1031,10 +1096,6 @@
|
||||
"code_lines": 32,
|
||||
"path": "Drivers/BSP/RS485/rs485.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 31,
|
||||
"path": "App/algo/adc_cal.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 31,
|
||||
"path": "App/protocol/iec104/iec104_pts.h"
|
||||
@@ -1115,6 +1176,18 @@
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/NETCFG/ftp_cfg.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_accident.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_alarm.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_oper.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_runlog.c"
|
||||
@@ -1127,6 +1200,14 @@
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_soe.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_start.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 22,
|
||||
"path": "Drivers/BSP/UI/ui_page_yk.c"
|
||||
},
|
||||
{
|
||||
"code_lines": 20,
|
||||
"path": "Drivers/BSP/UI/ui_net_sink.h"
|
||||
@@ -1291,6 +1372,14 @@
|
||||
"code_lines": 11,
|
||||
"path": "Drivers/BSP/UI/ui_page_view_word.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 11,
|
||||
"path": "Drivers/BSP/UI/ui_page_wave_manual.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 11,
|
||||
"path": "Drivers/BSP/UI/ui_page_wave_play.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 11,
|
||||
"path": "Drivers/BSP/UI/ui_page_yx.h"
|
||||
@@ -1339,6 +1428,14 @@
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_ac.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_accident.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_alarm.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_dc.h"
|
||||
@@ -1347,6 +1444,22 @@
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_device_info.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_oper.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_runreport.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_start.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 5,
|
||||
"path": "Drivers/BSP/UI/ui_page_yk.h"
|
||||
},
|
||||
{
|
||||
"code_lines": 4,
|
||||
"path": "Drivers/BSP/UI/ui_page_runlog.h"
|
||||
|
||||
Reference in New Issue
Block a user