chore(ledger): pages 批 1~4 合入后回填凭证/覆盖率并同步黄金参考计数

task/pages-ui 合入(merge dea7591 + 修复 498cc60):三页回炉 + SOE 页 +
四查看页 + 遥信 33 行页 + ui_data 三通道 + soe_store 只读 API + 字库与
门禁配套共 12 笔。凭证重盖(Code=224,688 / RW_IRAM1 78,992 B=60.3% /
CCM 87.9%);覆盖率基线 39/39 套件复算。ui-golden 黄金参考 11→18 页
随批 4 扩容,AGENTS 门禁行/索引行与门禁说明两处、覆盖率口径一处同步;
两篇新详解(bom-guard/setview-check)已由道E 交付、索引去"待补"。
memset 隐式声明一条教训:分支树增量构建"0 警"不覆盖未重编文件,
done 主树全量重编才是终判。
This commit is contained in:
2026-10-25 15:49:42 +08:00
parent 498cc60b9d
commit 7099c56c34
7 changed files with 113 additions and 57 deletions
+2 -2
View File
@@ -90,7 +90,7 @@
## 提交门禁(pre-commit)
- 任一失败即拦截,共 **48 个钩子**(新增 `bom-guard` / `setview-check` 两条,2026-10-25 道E task-20,详解篇目待补;**每种门禁一篇详解(查什么 / 拦下过什么真事 / 限制与盲区 / 基线口径)→ `docs/门禁说明/README.md` 索引**;通用机制与整体口径 → `docs/代码规范/pre-commit使用说明.md`):通用 5 + `gitlint` + `cppcheck` / `test-cppcheck` + `no-mojibake` + `coding-standard` + 文档三件套 `doc-links` / `task-table` / `mem-numbers` + `id-check`(**编号门禁**,`docs/编号规范.md` §8 八项校验;**已关闸为【增量拦截】**:只拦 `scripts/id_known_backlog.json` 台账之外的新错误级问题,存量按指纹豁免、台账只减不增;另有一根恒生效的线——可判定比例跌破 `id_registry.json` 基线即失败)+ `lv-conf-sync`(两份 `lv_conf.h` 特性子集一致)+ `cubemx-survival` + 主机侧单测 22 个(`-unit-test` 后缀,2026-10-25 增补 adc-cal / prot-dim / vol-idle-sync / ui-data / meas / run-par 六个)+ `test-coverage`(**覆盖率总闸**:跑全部 39 套并守基线回退;缺 mscoverage 组件时按用户裁定 **FAIL**、不 skip,2026-10-24)+ `test-suite-switch` + `registration-check`(双端注册反向校验 + UI 页面描述符表接线,N-23/U4)+ `mem-budget`(RAM 92% 预算门禁,N-27)+ `font-charset`(UI 字符集差集检查,防缺字白框,U4)+ `ui-golden`(UI 像素回归,菜单 8 状态 + 内容页 11 页黄金参考,U4)+ `layer-deps`(**分层方向**:`Drivers/BSP/**` 不得 include `App/**` 的头;存量 3 条基线只减不增(2026-10-25 记录 reader 注入削掉 UI 记录 3 条边,6→3),报告 S-1)+ `bsp-err`(**BSP 错误码与超时命名约定**:公开 API 不得拿 `HAL_StatusTypeDef`/`bool` 当错误通道、`*_TIMEOUT` 宏不得取负值、非 void 须写「返回值:」、**返回错误码的函数不得裸丢弃返回值**(须接住或显式 `(void)`;实测编译器与 cppcheck 都不报这类,只有这条会响);约定正文 `Drivers/BSP/bsp_err.h`,存量基线只减不增(2026-10-23 首清点 19 条 → 已还 18;`consume-result` 上线又暴露 37 条存量丢弃 → **现 38 条**),报告 S-5)
- 任一失败即拦截,共 **48 个钩子**(新增 `bom-guard` / `setview-check` 两条,2026-10-25 道E task-20;**每种门禁一篇详解(查什么 / 拦下过什么真事 / 限制与盲区 / 基线口径)→ `docs/门禁说明/README.md` 索引**;通用机制与整体口径 → `docs/代码规范/pre-commit使用说明.md`):通用 5 + `gitlint` + `cppcheck` / `test-cppcheck` + `no-mojibake` + `coding-standard` + 文档三件套 `doc-links` / `task-table` / `mem-numbers` + `id-check`(**编号门禁**,`docs/编号规范.md` §8 八项校验;**已关闸为【增量拦截】**:只拦 `scripts/id_known_backlog.json` 台账之外的新错误级问题,存量按指纹豁免、台账只减不增;另有一根恒生效的线——可判定比例跌破 `id_registry.json` 基线即失败)+ `lv-conf-sync`(两份 `lv_conf.h` 特性子集一致)+ `cubemx-survival` + 主机侧单测 22 个(`-unit-test` 后缀,2026-10-25 增补 adc-cal / prot-dim / vol-idle-sync / ui-data / meas / run-par 六个)+ `test-coverage`(**覆盖率总闸**:跑全部 39 套并守基线回退;缺 mscoverage 组件时按用户裁定 **FAIL**、不 skip,2026-10-24)+ `test-suite-switch` + `registration-check`(双端注册反向校验 + UI 页面描述符表接线,N-23/U4)+ `mem-budget`(RAM 92% 预算门禁,N-27)+ `font-charset`(UI 字符集差集检查,防缺字白框,U4)+ `ui-golden`(UI 像素回归,菜单 8 状态 + 内容页 18 页黄金参考,U4)+ `layer-deps`(**分层方向**:`Drivers/BSP/**` 不得 include `App/**` 的头;存量 3 条基线只减不增(2026-10-25 记录 reader 注入削掉 UI 记录 3 条边,6→3),报告 S-1)+ `bsp-err`(**BSP 错误码与超时命名约定**:公开 API 不得拿 `HAL_StatusTypeDef`/`bool` 当错误通道、`*_TIMEOUT` 宏不得取负值、非 void 须写「返回值:」、**返回错误码的函数不得裸丢弃返回值**(须接住或显式 `(void)`;实测编译器与 cppcheck 都不报这类,只有这条会响);约定正文 `Drivers/BSP/bsp_err.h`,存量基线只减不增(2026-10-23 首清点 19 条 → 已还 18;`consume-result` 上线又暴露 37 条存量丢弃 → **现 38 条**),报告 S-5)
- **范围 = 项目代码**:第三方(`Lib/`、`Middlewares/`、CMSIS、HAL、`lftpd`、`dhara`、`MDK-ARM`)排除;`cppcheck`/`coding-standard` 另排除 `test/`,规范检查再排除 CubeMX 生成的 `Src/`/`Inc/`。**`simulator/` 已纳入全部钩子**(2026-10-11)——生成物只靠 `.gitignore` 挡,**不在 `exclude` 里写目录名**(教训见 `docs/代码规范/pre-commit使用说明.md` §5.5)
- ⚠ **pre-commit 4.x 已移除 `always: true`**(实测对 `local` 钩子只告警 `Unexpected key(s)` 并跳过)→ 想"总是跑"的钩子**必须让 `files:` 覆盖到所有会触发它的文件**,没有兜底开关
- **改写型钩子(`trailing-whitespace` + `end-of-file-fixer`)豁免 CubeMX/Keil 生成文件**(配置里 YAML 锚点 `&cubemx-generated`);⚠ **只读检查不受影响**:`cppcheck` / 乱码 / `cubemx-survival` / `task-table` / `mem-numbers` 仍覆盖 `Src/`、`Inc/`
@@ -173,7 +173,7 @@
| ADC 采样节拍 / 通道映射 / V0.1 硬件缺陷 | `docs/子系统设计/ADC采样节拍设计说明.md`、`docs/硬件平台/ADC通道映射说明.md` |
| 存储栈(FatFs / dhara / lftpd / 两条 FatFs 陷阱) | `docs/架构设计/STM32F4-Base存储架构说明.md` |
| RAM / 栈预算 / 容量台账 | `docs/内存管理/RAM使用分析与优化方案.md`、`内存内容分配策略.md` |
| **每个提交门禁一篇详解**(查什么 / 拦下过什么真事 / 限制与盲区 / 基线口径) | `docs/门禁说明/README.md`(48 个钩子 → 23 篇索引;bom-guard / setview-check 两篇待补) |
| **每个提交门禁一篇详解**(查什么 / 拦下过什么真事 / 限制与盲区 / 基线口径) | `docs/门禁说明/README.md`(48 个钩子 → 25 篇索引) |
| 实体编号怎么写 / 前缀总表 / `id-check` 八项校验 | `docs/编号规范.md`(§4 总表、§8 门禁与实测基线) |
| 提交门禁通用机制(阶段 / stash 陷阱 / 触发面 / 增量拦截三段式) | `docs/代码规范/pre-commit使用说明.md` §2 |
| 代码规范 V1.0 / cppcheck 口径 | `docs/代码规范/嵌入式C语言代码规范_V1.0.md`、`cppcheck使用说明.md` |
@@ -704,7 +704,7 @@ uint16_t ch395f_link_change_count(void);
| 类别 | 体量 | 为什么不做 | 那它靠什么把关 |
|---|---|---|---|
| 芯片驱动(寄存器/时序) | `ch395f.c`(801)、`gd5f2gq5ue.c`(689)、`sd2506.c`(264)、`tpafe5160.c`(157)、`rs485.c`(79) = **1,990 行** | 把 HAL 与寄存器假到底 ≈ **重写一遍驱动**,测的是自己的桩而不是硬件行为(SPI 分频必须 8、DMA 流、I2C 时序在桩里怎么编都"对") | 板级套件(`board-test-suite` skill)+ `@test` 真机日志 + 4 个 Fault 现场;陷阱逐条登记在 `docs/问题记录/CH395F_Trap_Records.md`、`docs/问题记录/GD5F2GQ5UE_Trap_Records.md`、`docs/问题记录/SD2506_Trap_Records.md` |
| UI 侧 | 17 个 `.c` = **1,942 行** | 与 PC 模拟器是**同一份源码**,行为回归已由 `ui-golden`(菜单 8 状态 + 内容页 11 页像素黄金参考)覆盖;再写单测是第三份重复投资 | `ui-verify` skill 五步 + `docs/UI设计/UI_自动化测试流程.md` |
| UI 侧 | 17 个 `.c` = **1,942 行** | 与 PC 模拟器是**同一份源码**,行为回归已由 `ui-golden`(菜单 8 状态 + 内容页 18 页像素黄金参考)覆盖;再写单测是第三份重复投资 | `ui-verify` skill 五步 + `docs/UI设计/UI_自动化测试流程.md` |
| 任务编排 | `default_task.c`(281)、`adc_task.c`(171)、`net_task.c`(123)、`protect_task.c`(90)、`ui_task.c`(71)、`rs485_task.c`(11) = **747 行** | 每个只有 4~5 个函数,主体是"按顺序调别人";真逻辑在被调模块里(那些已测或在 P1/P2)。给编排层写单测最容易写成"断言我调了几次"的自证 | 真机启动锚点计数 + IWDG `required_mask`(`@test`)+ `docs/架构设计/项目启动顺序管理.md` |
| 内核前装配 | `app_main.c`(135) | 被测对象本身就是"`osKernelStart` 之前不许调内核 API"的时序,主机侧无法忠实复现(PC 上没有那个约束) | 同上 + `cubemx-survival` 审计 |
+1 -1
View File
@@ -40,7 +40,7 @@
| [`cubemx-survival.md`](cubemx-survival.md) | `cubemx-survival` | CubeMX 重生成会不会把定制静默抹掉(L3 审计兜底) | `.ioc`、`Src/`、`Inc/` | 已写 |
| [`test-suite-switch.md`](test-suite-switch.md) | `test-suite-switch` | 板级套件开关必须互斥;全注释 = 产品构建 | `test/board/test_config.h` | 已写 |
| [`font-charset.md`](font-charset.md) | `font-charset` | UI 用到的汉字是否都在子集字体里(缺字 = 白框) | `Drivers/BSP/UI/**`、字体脚本 | 已写 |
| [`ui-golden.md`](ui-golden.md) | `ui-golden` | UI 像素回归:菜单 8 状态 + 内容页 11 页黄金参考图比对 | UI 源码、模拟器 | 已写 |
| [`ui-golden.md`](ui-golden.md) | `ui-golden` | UI 像素回归:菜单 8 状态 + 内容页 18 页黄金参考图比对 | UI 源码、模拟器 | 已写 |
| [`bom-guard.md`](bom-guard.md) | `bom-guard` | 带 BOM 的文件被编辑工具剥掉 BOM(ARMCC 换解码 → 假语法错) | `Drivers/BSP/UI/**` 等名单内文件 | 已写 |
| [`setview-check.md`](setview-check.md) | `setview-check` | 定值查看行表与 `prot_set` 枚举序 / `g_prot_set_meta` 上下限是否同一份口径 | `tools/setview_check/**`、`ui_w_setview.*` | 已写 |
| [`host-unit-tests.md`](host-unit-tests.md) | 16 个 `*-unit-test` | 主机侧单测(同一机制 16 个实例):逻辑层在无硬件的 PC 上编译并跑断言 | 各自被测模块与其测试目录 | 已写 |
+1 -1
View File
@@ -1,4 +1,4 @@
# `ui-golden` — UI 像素回归(菜单 8 状态 + 内容页 11 页黄金参考)
# `ui-golden` — UI 像素回归(菜单 8 状态 + 内容页 18 页黄金参考)
> 一句话:改 UI 源码时,把模拟器增量重编 + 两条 golden 回归串成一次提交门禁,**像素对不上就拦**。
> 它是包装器:真正的判据在被包装的两条脚本与参考图里。
+1 -1
View File
@@ -7,4 +7,4 @@ date code ro rw zi er_irom1 er_pct iram1 iram1_pct ccm ccm_pct top_rwzi
2026-10-22 213436 18652 1188 131500 232088 22.1 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736
2026-10-23 213676 18860 1188 131500 232536 22.2 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736
2026-10-24 213780 18860 1204 131852 232640 22.2 75632 57.7 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736
2026-10-25 219620 22036 1280 132864 241656 23.0 76720 58.5 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736
2026-10-25 224688 24640 1328 135088 249328 23.8 78992 60.3 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736
1 date code ro rw zi er_irom1 er_pct iram1 iram1_pct ccm ccm_pct top_rwzi
7 2026-10-22 213436 18652 1188 131500 232088 22.1 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736
8 2026-10-23 213676 18860 1188 131500 232536 22.2 75264 57.4 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4120;sys_log_mcu.o=3588;default_task.o=2736
9 2026-10-24 213780 18860 1204 131852 232640 22.2 75632 57.7 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736
10 2026-10-25 219620 224688 22036 24640 1280 1328 132864 135088 241656 249328 23.0 23.8 76720 78992 58.5 60.3 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736
+13 -13
View File
@@ -1,25 +1,25 @@
{
"built_at": "2026-10-25T13:20:00+08:00",
"fingerprint": "cced501cd26bc3359ccfb1317318c159559006776849f41414a9cc132e88f0a3",
"fingerprint_files": 1408,
"built_at": "2026-10-25T15:47:11+08:00",
"fingerprint": "8d724896ffc95f322041c305a0fbf6704f72bb46fb56367d67c49d14d81074f0",
"fingerprint_files": 1422,
"fingerprint_source": "git-index",
"gated_regions": [
"RW_IRAM1",
"RW_CCM"
],
"git_head": "7bbcc9cf6f129c820d9f487c3a6ce0b1cdf6cfad",
"git_head": "498cc60b9d617ba24528622ba9ef69809d90225e",
"map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map",
"map_mtime": 1792905580,
"map_mtime": 1792914282,
"pct": {
"ER_IROM1": 23.05,
"ER_IROM1": 23.78,
"RW_CCM": 87.89,
"RW_IRAM1": 58.53,
"RW_IRAM1": 60.27,
"UNINIT_CCM": 18.75
},
"regions": {
"ER_IROM1": {
"max": 1048576,
"size": 241656
"size": 249328
},
"RW_CCM": {
"max": 65280,
@@ -27,7 +27,7 @@
},
"RW_IRAM1": {
"max": 131072,
"size": 76720
"size": 78992
},
"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": 219620,
"ro_data": 22036,
"rw_data": 1280,
"zi_data": 132864
"code": 224688,
"ro_data": 24640,
"rw_data": 1328,
"zi_data": 135088
},
"threshold_pct": 92.0,
"worktree_dirt_at_stamp": 0,
+94 -38
View File
@@ -137,12 +137,12 @@
"lines_valid": 87
},
"App/log/soe_store.c": {
"func_rate": 1.0,
"func_rate": 0.5714,
"funcs_covered": 4,
"funcs_valid": 4,
"line_rate": 0.9873,
"lines_covered": 78,
"lines_valid": 79
"funcs_valid": 7,
"line_rate": 0.6299,
"lines_covered": 80,
"lines_valid": 127
},
"App/log/sys_log_mcu.c": {
"func_rate": 1.0,
@@ -593,9 +593,9 @@
"soe_store": {
"files": {
"App/log/soe_rec.c": 87,
"App/log/soe_store.c": 79
"App/log/soe_store.c": 127
},
"lines_total": 166,
"lines_total": 214,
"ok": true
},
"sys_clock": {
@@ -706,13 +706,13 @@
"totals": {
"files_generated_excluded": 5,
"files_tested": 43,
"files_untested": 122,
"func_rate": 0.9357,
"files_untested": 136,
"func_rate": 0.9299,
"funcs_covered": 451,
"funcs_valid": 482,
"line_rate": 0.9026,
"lines_covered": 6202,
"lines_valid": 6871,
"funcs_valid": 485,
"line_rate": 0.8967,
"lines_covered": 6204,
"lines_valid": 6919,
"modules_ok": 39,
"modules_total": 39
},
@@ -749,13 +749,17 @@
"code_lines": 264,
"path": "Drivers/BSP/SD2506/sd2506.c"
},
{
"code_lines": 263,
"path": "App/app/ui_data_feed.c"
},
{
"code_lines": 249,
"path": "App/task/adc_task.c"
},
{
"code_lines": 242,
"path": "App/app/ui_data_feed.c"
"code_lines": 207,
"path": "Drivers/BSP/UI/ui_w_setlist.c"
},
{
"code_lines": 206,
@@ -770,8 +774,8 @@
"path": "Drivers/BSP/UI/ui_standby.c"
},
{
"code_lines": 204,
"path": "Drivers/BSP/UI/ui_w_setlist.c"
"code_lines": 197,
"path": "Drivers/BSP/UI/ui_w_setview.c"
},
{
"code_lines": 157,
@@ -781,6 +785,10 @@
"code_lines": 150,
"path": "Drivers/BSP/UI/ui_page_password.c"
},
{
"code_lines": 146,
"path": "Drivers/BSP/UI/ui_page_device_info.c"
},
{
"code_lines": 140,
"path": "App/app/app_main.c"
@@ -793,6 +801,10 @@
"code_lines": 123,
"path": "App/task/net_task.c"
},
{
"code_lines": 122,
"path": "App/task/ui_task.c"
},
{
"code_lines": 117,
"path": "App/task/protect_task.c"
@@ -801,6 +813,10 @@
"code_lines": 113,
"path": "Drivers/BSP/UI/ui_page_action.c"
},
{
"code_lines": 112,
"path": "Drivers/BSP/UI/ui_page_ac.c"
},
{
"code_lines": 101,
"path": "Drivers/BSP/NET/net_types.h"
@@ -809,18 +825,18 @@
"code_lines": 98,
"path": "Drivers/BSP/SD2506/sd2506.h"
},
{
"code_lines": 95,
"path": "App/task/ui_task.c"
},
{
"code_lines": 93,
"path": "Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h"
},
{
"code_lines": 88,
"code_lines": 89,
"path": "Drivers/BSP/UI/ui_data.h"
},
{
"code_lines": 86,
"path": "Drivers/BSP/UI/ui_page_yx.c"
},
{
"code_lines": 83,
"path": "Drivers/BSP/NET/net_socket.h"
@@ -841,6 +857,10 @@
"code_lines": 77,
"path": "Drivers/BSP/dbg_log.h"
},
{
"code_lines": 69,
"path": "Drivers/BSP/UI/ui_page_dc.c"
},
{
"code_lines": 62,
"path": "App/protocol/iec104/iec104_asdu.h"
@@ -862,7 +882,7 @@
"path": "App/util/task_watchdog.h"
},
{
"code_lines": 50,
"code_lines": 51,
"path": "Drivers/BSP/UI/ui_w_setlist.h"
},
{
@@ -889,10 +909,6 @@
"code_lines": 41,
"path": "Drivers/BSP/NET/lftpd/private/lftpd_status.h"
},
{
"code_lines": 41,
"path": "Drivers/BSP/UI/ui_page_ac.c"
},
{
"code_lines": 39,
"path": "Drivers/BSP/UI/ui_w_records.c"
@@ -925,6 +941,22 @@
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_deco.c"
},
{
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_page_view_param.c"
},
{
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_page_view_plate.c"
},
{
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_page_view_set.c"
},
{
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_page_view_word.c"
},
{
"code_lines": 31,
"path": "Drivers/BSP/UI/ui_w_editor.h"
@@ -957,10 +989,6 @@
"code_lines": 27,
"path": "App/task/task_handles.h"
},
{
"code_lines": 27,
"path": "Drivers/BSP/UI/ui_page_device_info.c"
},
{
"code_lines": 26,
"path": "App/util/task_prof.h"
@@ -981,6 +1009,10 @@
"code_lines": 24,
"path": "Drivers/BSP/UI/ui_tokens.h"
},
{
"code_lines": 24,
"path": "Drivers/BSP/UI/ui_w_setview.h"
},
{
"code_lines": 23,
"path": "App/algo/adc_cal.h"
@@ -1010,12 +1042,12 @@
"path": "Drivers/BSP/UI/ui_page_selftest.c"
},
{
"code_lines": 20,
"path": "App/log/console_log.h"
"code_lines": 22,
"path": "Drivers/BSP/UI/ui_page_soe.c"
},
{
"code_lines": 20,
"path": "Drivers/BSP/UI/ui_page_dc.c"
"path": "App/log/console_log.h"
},
{
"code_lines": 19,
@@ -1049,6 +1081,10 @@
"code_lines": 15,
"path": "App/algo/freq.h"
},
{
"code_lines": 15,
"path": "App/log/soe_store.h"
},
{
"code_lines": 15,
"path": "App/util/sys_clock.h"
@@ -1065,10 +1101,6 @@
"code_lines": 14,
"path": "Drivers/BSP/UI/ui_style.c"
},
{
"code_lines": 13,
"path": "App/log/soe_store.h"
},
{
"code_lines": 13,
"path": "App/task/adc_task.h"
@@ -1133,6 +1165,30 @@
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_net_cfg.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_soe.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_view_param.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_view_plate.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_view_set.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_view_word.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_page_yx.h"
},
{
"code_lines": 11,
"path": "Drivers/BSP/UI/ui_style.h"