docs(screenlink): 屏板链路档去「说明」并瘦身,控制台档收编台架日志口

屏板链路设计说明.md -> 屏板链路设计.md(去档名「说明」,与 ADC 节拍 /
运行与自检记录两篇口径一致);控制台单写者日志设计说明.md 同改。
两档并存期间旧名引用 0 残留。

- 屏板链路 §3.2 台架日志口(RS232#1 / CN1 端子 / COM3)移入控制台档
  §3.4:日志口的接线属 UART5 控制台通道,不属屏板链路;屏板档只留
  「别去 CN1 找 USART1 端子」这句接线防错提示。
- 屏板链路 §7.1 由「根因账本 + 修复前后对比」改写为现状描述:延迟
  应答机制表 + 耗时分解表 + 两个计数口径 + 已知边界,40 行压到 24 行。
  顺带修正 §8 的错引:原指 `网络自愈架构设计.md` §8(实为「延后项」,
  不含 uiTask 内容)改为 §4.1 `net_reconcile_tick`。
- §9.1 增补长稳行(串口日志 2026-11-13 18:31 -> 2026-11-15 21:43,
  单次上电 51.2 h:rx=658262 ok=658262、crc/len/fmt/err 全 0、
  drop=7 仅启动期、kerr/abor/bad=0、全程 off=0);§9.2 销项三条
  (仪器项、2 h 长稳、len=7 观察项),新增「按键通路」一条——51.2 h
  日志 keys=0 kq=0 dfok=0 dfold=0,延迟应答在真机上从未执行过。
- 删除 sb_frame_b_build_logo() 及 SB_LOGO_MAGIC_* / SB_SCREEN_W/H
  与对应单测(TC-SBPROTO-022/023 全组、024c/024d),组帧入口只剩
  sb_frame_b_build_image()。sb_proto 单测 59 -> 45 条,45/45 通过。
- cfg_file.c 出厂模板三条中文字面量改 \uXXXX 转义:消除全量重编时的
  4 条 #870-D invalid multibyte character sequence,运行期字节不变,
  源码回到纯 ASCII(符合「字符串字面量必须纯 ASCII」)。

验证:keil-build 0 Error 0 Warning;sb_proto 45/45、sb_link 164/164;
pre-commit 48 钩子全 Passed;check_doc_links --sections-strict 通过。
This commit is contained in:
2026-11-15 21:51:24 +08:00
parent f5902bcc21
commit 1634088bd7
42 changed files with 131 additions and 259 deletions
+1 -1
View File
@@ -234,7 +234,7 @@ void protect_task(void *argument) {
/* 启动锚点行:控制台写者注册后首拍补打(2026-10-10 门控纪律,adcTask
* 首帧同款)。写者注册前 con_append 走无锁裸发,与 defaultTask 启动日志
* 逐字节交错——B6 台架实证:本行曾损坏为 "st[art: cycle=220ms elm=70"
* 致 /serial-boot-test 锚点 MISS(控制台单写者日志设计说明.md §3.4)。 */
* 致 /serial-boot-test 锚点 MISS(控制台单写者日志设计.md §3.4)。 */
if ((start_logged == 0u) && (dbg_console_writer_ready() != 0u)) {
DBG_INFO("protect task start: cycle=%ums elm=%u",
(unsigned)PROTECT_TASK_CYCLE_MS, (unsigned)PE_COUNT);
+2 -2
View File
@@ -1035,7 +1035,7 @@ static void ui_task_wait_net_ready(void) {
/*
* 函数功能:把屏板键号映射为 UI 键码
* 入口参数:board_key - 屏板帧 A 的 key 字节(1~10,语义见 docs/子系统设计/屏板链路设计说明.md §5)
* 入口参数:board_key - 屏板帧 A 的 key 字节(1~10,语义见 docs/子系统设计/屏板链路设计.md §5)
* 返回值:UI_KEY_* 之一;0 = 不映射(无键 / RESET / FACTORY / 屏板无物理入口的 5、6)
* 限定条件:只在 uiTask 上下文调用(ui_port_queue_key 的契约是输入子系统已初始化)
* 函数说明:1. 屏板 key_configs[] 只有 **7 项**,可达值仅 1/2/3/4/7/8/9——别按屏板 readme
@@ -1171,7 +1171,7 @@ void ui_task_func(void *argument) {
* "出键→即派即绘→组帧",sb_link_ms_tick() 在 ≤1 ms 内放行的那一答带的才是
* **按键之后**的新内容;旧顺序下按键召唤答的必然是按键前的旧帧,新内容
* 要等下一次召唤才带得出(平均 ~140 ms、最坏 280 ms,账本见
* docs/子系统设计/屏板链路设计说明.md §7.1)。
* docs/子系统设计/屏板链路设计.md §7.1)。
* "本轮画出来的就是本轮组进去的那一帧"的承诺因此覆盖到按键。
* 排在推流往返**之前**不变:那个往返最坏能等 ≈4 s(LCDMEM 应答 3204 B),
* 排在它后面会让屏板画面跟着网络一起卡(同一份显存、两个出口,出口不能互相拖)。