docs(架构): 项目架构总览全局更新——同步录波/SOE/屏板并订正串口归属
v1.1(2026-10-14)之后主干前进 59 笔,本总览积累系统性偏差,通读全文后 全局更新(含配图生成器数据同步): - 串口三分定态:USART1=屏板链路 700 kbaud、UART4=RS-485(B2 未接线)、 UART5=控制台日志 115200(console_log CON_UART=huart5 实证; 旧文把 USART1 标成调试口是屏板批 0 迁移前的口径) - 采集主线补齐:adc_cal 标定折算、meas 200ms 遥测快照(adcTask 唯一 发布者,104 与 UI 共用同一份上游)、录波环三任务交接(adcTask 写入 冻结 / defaultTask 游标落 /wave / uiTask 单通道回放 / FTP 取回) - SOE 事件记录链路入图:protectTask 动作/复归边沿投递(纯 RAM 队列) → defaultTask 经 syslog_drain 尾部落 /log/soe.log(64B 定长) - 配置从 [network] 单段改五段注册制(+ftp/adc_cal/run_par/comm), 另有 /prot_set.bin(B7 原子写) - UI 一节按注册表驱动重写:菜单树 61 行、16 个 #P 受保护叶、26 个 #page 绑定、ui_data 三帧契约(写侧唯一填充 ui_data_feed)、录波 两页、显存一份三出(屏板主出口/:7003 镜像/模拟器) - §2.1 任务表按 freertos.c 现值逐行核对;protectTask 如实标注 「未标定闭锁」现状(产品 required_mask 0x1F7) - 配图:gen_arch_svg.py 顶部数据(层芯片/串口/删悬空图脚注)重跑, 脚本与产物同一笔提交;check_generated_fresh.py 按「只减不增、 还清即删整条」把本次还清的 项目架构总览.svg 基线下架(留出处注) 验证:check_doc_links --all --sections-strict 通过;scripts/ci_local.py 全绿;generated-fresh 单跑 rc=0(无 DIFF/NEW);SVG 无头渲染回读目检 两轮(首轮揪出悬空图脚注);md 无 BOM/CR/U+FFFD;#P 计数剔注释行复核。
This commit is contained in:
@@ -43,30 +43,35 @@ FONT = "Microsoft YaHei, Segoe UI, PingFang SC, sans-serif"
|
||||
# ----------------------------- 架构数据(改这里) -----------------------------
|
||||
L_BIZ = dict(
|
||||
title="① 业务层", sub="顶层共享配置 · 被 UI 与基础服务共用", color="#2563eb", bg="#eff6ff",
|
||||
chips=["net_cfg(网口配置:IP/掩码/网关/MAC + Flash 持久化)"],
|
||||
chips=["net_cfg(网口配置:IP/掩码/网关/MAC · /config.ini [network] 段)"],
|
||||
)
|
||||
L_UI = dict(
|
||||
title="② UI 层", sub="Drivers/BSP/UI · 与 PC 模拟器共用", color="#7c3aed", bg="#f5f3ff",
|
||||
chips=["ui_port(显示端口)", "ui_menu / ui_menu_view(级联菜单)", "ui_menu_tab(菜单表)",
|
||||
"ui_content_page(内容页框架)", "ui_page_*(5 页插件)",
|
||||
"ui_net_sink(远程显示 :7003)", "ui_font_cn_12(中文字体)", "ui_deco(浅 V 装饰)"],
|
||||
title="② UI 层", sub="Drivers/BSP/UI · 一份显存三出(模拟器/屏板/远程)", color="#7c3aed", bg="#f5f3ff",
|
||||
chips=["ui_port(显示端口)", "ui_menu / ui_menu_view(级联菜单)", "ui_menu_tab(菜单树生成物)",
|
||||
"ui_content_page(内容页框架)", "ui_page_registry(页面注册表 · 生成物)", "ui_page_*(20+ 页插件)",
|
||||
"ui_data(数据供给契约)", "ui_net_sink(远程显示 :7003)", "ui_standby(待机屏)",
|
||||
"ui_font_cn_12(中文字体)", "ui_deco(浅 V 装饰)"],
|
||||
)
|
||||
L_SVC = dict(
|
||||
title="③ 基础服务层", sub="应用侧服务 / 编排", color="#0d9488", bg="#f0fdfa",
|
||||
chips=["app_main(启动编排)", "sys_events(就绪屏障)",
|
||||
"app_cfg(编译开关)", "task/(net · ui · adc* · rs485*)",
|
||||
chips=["app_main(启动编排)", "sys_events(就绪屏障)", "task/(9 任务)",
|
||||
"algo/(语义取数与有效性~保护判据 · 遥测快照 · 录波数据面)",
|
||||
"protocol/iec104(104 上行 :2404)", "ui_data_feed(App→UI 装配)",
|
||||
"sys_log · soe(记录引擎)", "console_log(UART5 控制台单写者)",
|
||||
"cfg_file · prot_set_store(配置引擎)",
|
||||
"lftpd(FTP :21)", "time_sync(TCP 对时 :8888)"],
|
||||
)
|
||||
L_MW = dict(
|
||||
title="④ 中间件层", sub="通用库 / 协议栈", color="#16a34a", bg="#f0fdf4",
|
||||
chips=["net_socket / net_select(BSD API)",
|
||||
chips=["net_socket / net_select / net_events / net_listener / net_pending(BSD API + 阻塞模型)",
|
||||
"FatFs(文件系统)", "nand_ftl(dhara FTL)", "LVGL v9.2(图形库)",
|
||||
"sys_clock(墙钟基准)", "util(crc · ringbuf)"],
|
||||
"sys_clock(墙钟基准)", "task_watchdog(IWDG 判定)"],
|
||||
)
|
||||
L_DRV = dict(
|
||||
title="⑤ 驱动层", sub="Drivers/BSP · 芯片时序/中断", color="#d97706", bg="#fffbeb",
|
||||
chips=["ch395f(SPI2 + DMA)", "gd5f2gq5ue(SPI1)", "tpafe5160(并行 16 位)",
|
||||
"sd2506(I2C1)", "rs485(UART5 + DE)"],
|
||||
"sd2506(I2C1)", "rs485(UART4 + DE)",
|
||||
"sb_link · sb_proto(屏板链路 · USART1 700 kbaud)"],
|
||||
)
|
||||
L_KERN = dict(
|
||||
title="⑥ 内核 / HAL", sub="调度 · 外设抽象", color="#475569", bg="#f1f5f9",
|
||||
@@ -76,7 +81,8 @@ L_KERN = dict(
|
||||
L_HW = dict(
|
||||
title="⑦ 硬件", sub="STM32F407ZGTx @168MHz", color="#e11d48", bg="#fff1f2",
|
||||
chips=["CH395F 以太网(SPI2)", "GD5F2GQ5UE NAND(SPI1)", "TPAFE5160 ADC(并行)",
|
||||
"SD2506 RTC(I2C1)", "RS-485(UART5)", "USART1 调试(115200)", "6x LED"],
|
||||
"SD2506 RTC(I2C1)", "RS-485(UART4 · 未接线)", "屏板(USART1 · 700 kbaud)",
|
||||
"RS232#1 日志(UART5 · 115200)", "6x LED"],
|
||||
)
|
||||
|
||||
# 每一行可放多个"同级并列"的层(上层只依赖下方各层)
|
||||
@@ -89,7 +95,7 @@ ROWS = [
|
||||
[L_HW],
|
||||
]
|
||||
|
||||
FOOT = "上层只依赖相邻下层(单向);UI 层与基础服务层同级并列,均使用顶层 net_cfg。跨层调用细节见 docs/架构设计/项目架构总览.md §1.2 * 预留未接入调度"
|
||||
FOOT = "上层只依赖相邻下层(单向);UI 层与基础服务层同级并列,均使用顶层 net_cfg。跨层调用细节见 docs/架构设计/项目架构总览.md §1.2"
|
||||
|
||||
|
||||
# ----------------------------- 工具函数 -----------------------------
|
||||
|
||||
Reference in New Issue
Block a user