ae09c5737a
任务规划目录从 5 个文件收敛到 3 个:只留导航(README)、待办(登记簿)、 暂缓专项(暂缓-RS485)。 删除的两个文件都不再有现行读者: - UI补齐.md 执行清单 2026-10-28 清空、上板判据 2026-11-06 台架轮已复核; 叶数口径迁 docs/UI设计/菜单页面设计.md §3.9,三条内容页硬规矩迁 docs/UI设计/内容页架构.md §7.1,两条未闭环待办迁登记簿 §7/§8。 - 数据可信.md 不是完成记录,而是被约 130 处代码头注释引用的设计约束, 因此按内容分三处落位后删除,不整篇丢弃。 数据可信内容的新归属(旧节号 → 新家): - §2/§4 设计口径 → docs/算法/采集与算法层设计说明.md 新增 §13(13 小节), §7 前置决策表 → §13.12 已定案的前置决策。 - §3 台阶与波次退出判据 → docs/硬件平台/ADC通道映射说明.md 新增 §9。 - §5 任务卡 → docs/任务规划/登记簿.md §7(拆成变比确认 / 两点标定两行)。 引用改写 34 文件 77 处路径引用 + 14 文件 24 处昵称引用 + 双重节号 35 处, 覆盖代码头注释、测试、生成器与文档;归档区历史路径改纯文本提及。 四个 SVG 生成器文案同步并重跑,产物随脚本同批提交。 同批处理两件事: - 9 个 UTF-16 LE 证据文件转 UTF-8。end-of-file-fixer 按字节判末尾换行, UTF-16 的换行是 0A 00、末字节 00,钩子会追加裸 0x0a 使文件变奇数长度, 8 个已实际损坏。转码后逐文件比对 HEAD 原文验证正文零丢失。 - 修回 App/cfg/cfg_file.c 被剥掉的 UTF-8 BOM(补 3 字节,未整文件重写)。 验证:/keil-build 0 错误 0 警告(Code=255160);check_doc_links --all --sections-strict 221 篇全通过、无法判定 0;pre-commit 全量全 Passed。
118 lines
4.7 KiB
C
118 lines
4.7 KiB
C
/*
|
|
* 模块名称:UI Page deadband (遥测死区内容页)
|
|
* 模块功能:三遥设置 → 遥测死区 叶子(#P 受密码保护)的内容页——9 行数值表,
|
|
* 每页 8 行自动分页;本文件零 App include:行表现状(值/粗守域/量纲/
|
|
* 小数位)逐行来自 ui_data.h 通道五注入表,写与落盘确认全经
|
|
* ui_w_ytview 视图模型(状态机/反显/徽标在那一侧,两页共用一份)——
|
|
* 本文件只是标准骨架几何令牌接进框架的薄跳板,改一次口径两页一致
|
|
* 两态一页:123 修改权限 → 可编辑(编辑器 + 保存行 = 落盘确认);000 查看权限
|
|
* → 只读(attach 内不绑 commit → 无保存行、key_cb 整页交回框架,
|
|
* 行为与"没有 key_cb"逐字等价,整定四页同一条分派纪律)
|
|
* 徽标说明:本页**不画**"未标定"——死区数值来自 [run_par] 档、与两点标定无关,
|
|
* 挂不相干的告警等于稀释真告警(ui_w_ytview.h 同注)
|
|
* 适用平台:STM32F407ZGTx / PC 模拟器(共用源码)
|
|
* 作者:DTU 项目组
|
|
* 创建日期:2026-10-27
|
|
* 修改记录:
|
|
* v1.0 2026-10-27 DTU 项目组 创建(道F task-7;通用判据 = docs/UI设计/
|
|
* 内容页架构.md §7.1;本页另须「改死区能改变 104 上送门限 /
|
|
* 改 k 后页面值按比例变化 / 只走既有落盘链不加第二真源」)
|
|
*/
|
|
/* 头文件包含区 */
|
|
#include "ui_page_deadband.h"
|
|
|
|
#include "ui_tokens.h"
|
|
#include "ui_w_setlist.h"
|
|
#include "ui_w_ytview.h"
|
|
|
|
/* 静态变量定义区 */
|
|
|
|
/* 本页定值表实例(组件状态独占一份,勿跨页共用——ui_w_setlist 实例化约定) */
|
|
static ui_w_setlist_t s_sl;
|
|
|
|
/* 函数定义区 */
|
|
|
|
/*
|
|
* 函数功能:开页绑视图(行表现状逐行现取 + 两态分派都在视图模型内;接 init_cb)
|
|
* 入口参数:无
|
|
* 返回值:无
|
|
* 限定条件:框架开页链内(本次进入权限已装载,时序依据见 ui_page_view_param.c
|
|
* 同位置注释:框架先装权限再调 init_cb)
|
|
*/
|
|
static void pg_init(void) {
|
|
ui_w_ytview_attach_db(&s_sl);
|
|
}
|
|
|
|
/*
|
|
* 函数功能:总行数(数据行现给 + 可编辑态才有保存行;接 count_cb)
|
|
* 入口参数:无
|
|
* 返回值:总行数 uint16_t
|
|
* 限定条件:框架绘制/翻页链内
|
|
*/
|
|
static uint16_t pg_count(void) {
|
|
return ui_w_setlist_count(&s_sl);
|
|
}
|
|
|
|
/*
|
|
* 函数功能:逐行取数(接 refresh;行现状在视图模型里现取,本层无缓存)
|
|
* 入口参数:a_row / a_name / a_value - 契约见 ui_content_page.h
|
|
* 返回值:无
|
|
* 限定条件:框架绘制链内
|
|
*/
|
|
static void pg_refresh(uint16_t a_row, char *a_name, char *a_value) {
|
|
ui_w_setlist_refresh(&s_sl, a_row, a_name, a_value);
|
|
}
|
|
|
|
/*
|
|
* 函数功能:自绘层(编辑光标反显 + 写被拒行反显)
|
|
* 入口参数:a_layer / a_clip - 契约见 ui_content_page.h
|
|
* 返回值:无
|
|
* 限定条件:框架绘制链内,内置区块画完之后
|
|
*/
|
|
static void pg_draw(lv_layer_t *a_layer, const lv_area_t *a_clip) {
|
|
ui_w_setlist_draw(&s_sl, a_layer, a_clip);
|
|
|
|
}
|
|
|
|
/*
|
|
* 函数功能:按键转发(接 key_cb)
|
|
* 入口参数:a_key - LVGL 键值 lv_key_t
|
|
* 返回值:true - 本页已消费;false - 交回框架(↑↓ 移选、← 关页)
|
|
* 限定条件:描述符 edit_capable=1 + key_intercept=1(编辑中 ←→ 是移数字光标,
|
|
* 必须先给页面,否则框架把 ← 当关页——整定四页同款实证)
|
|
* 函数说明:第一条门 = 只读进入(未绑 commit)整页交回框架,与"本页没有
|
|
* key_cb"逐字等价(黄金参考只读态为证);其余分发规则全在组件
|
|
*/
|
|
static bool pg_key(lv_key_t a_key) {
|
|
if (s_sl.commit == NULL) {
|
|
return false;
|
|
}
|
|
return (ui_w_setlist_key(&s_sl, a_key) != 0u);
|
|
}
|
|
|
|
/*
|
|
* 页面描述符(外部链接:生成物 ui_page_registry.c 按菜单树 #page=deadband 绑定引用)
|
|
* 列表页骨架 + 可编辑 + ← 拦截;band_h 必须 >0(选中行黑字白底反显,同四整定页);
|
|
* row_count 给静态上限(9 数据行 + 保存行),行数运行时以注入表现报为准
|
|
*/
|
|
const content_page_def_t ui_page_deadband_desc = {
|
|
.id = "deadband",
|
|
.title = "遥测死区",
|
|
.selectable = 1u,
|
|
.edit_capable = 1u,
|
|
.key_intercept = 1u,
|
|
.top_y = UI_LIST_TOP,
|
|
.pitch = UI_ROW_PITCH,
|
|
.band_h = UI_ROW_BAND_H,
|
|
.text_dy = 0,
|
|
.left_x = UI_LIST_LEFT_X,
|
|
.right_x = UI_LIST_RIGHT_X,
|
|
.rows_per_page = UI_LIST_ROWS,
|
|
.row_count = 10u,
|
|
.init_cb = pg_init,
|
|
.count_cb = pg_count,
|
|
.refresh = pg_refresh,
|
|
.draw_cb = pg_draw,
|
|
.key_cb = pg_key,
|
|
};
|