Merge branch 'v2-on-ui' into task/meas-snap
# Conflicts: # scripts/id_registry.json
This commit is contained in:
@@ -23,6 +23,9 @@
|
||||
* 耗时(task_prof_report),并在**心跳位图出现 1→0 边沿**
|
||||
* 的瞬间留一份现场快照(task_prof_report_raw,裸 UART);
|
||||
* 另给控制台排空与 syslog 落盘各加一个耗时探针
|
||||
* v1.3 2026-10-25 DTU 项目组 写回缓存空闲 flush 接线:主循环 syslog 排空
|
||||
* 之后调 vol_idle_sync_poll()(卷空闲周期 CTRL_SYNC 兜底,
|
||||
* 模块 = App/fs/vol_idle_sync.[ch],道F 批 2)
|
||||
*/
|
||||
|
||||
#include "default_task.h"
|
||||
@@ -46,6 +49,7 @@
|
||||
#include "task_watchdog.h"
|
||||
#include "task_prof.h" /* 各任务最坏耗时上报 */
|
||||
#include "vol_lock.h"
|
||||
#include "vol_idle_sync.h" /* 写回缓存空闲 flush 兜底(App/fs/vol_idle_sync.h) */
|
||||
#include "task_handles.h" /* 任务句柄与属性块的引用契约(定义处仍是 Src/freertos.c) */
|
||||
|
||||
/* Private defines -----------------------------------------------------------*/
|
||||
@@ -275,6 +279,11 @@ void default_task_func(void *argument) {
|
||||
task_prof_enter(TASK_PROF_DEF_SYSLOG);
|
||||
syslog_drain();
|
||||
task_prof_exit(TASK_PROF_DEF_SYSLOG);
|
||||
/* 写回缓存空闲 flush 兜底:卷空闲(try 锁)+ 周期节流 + 就绪门控全在
|
||||
* 模块内(App/fs/vol_idle_sync.h);clean 态零 NAND 触点,脏态最坏 =
|
||||
* 一次 f_close 同型的同步段。放在 drain 之后:本拍若写过日志,close
|
||||
* 已同步过,这里随即 clean 短路——漏网脏页的驻留窗由周期封顶 */
|
||||
vol_idle_sync_poll();
|
||||
#endif
|
||||
/* 栈水位观测:首次 5s 后报告,此后每 2s 采样、出现更深峰值才打印 */
|
||||
task_wd_seg(TASK_WD_SEG_STACK);
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
#include "ui_net_sink.h"
|
||||
#include "ui_standby.h"
|
||||
#include "ui_w_records.h" /* task-6 记录 reader 注入点(UI 页面不再 include sys_log.h) */
|
||||
#include "ui_data.h" /* task-14 快照存侧(BSP):本任务只负责先复位再喂帧 */
|
||||
#include "ui_data_feed.h" /* task-14 数据装配节拍入口(App/app,UI 侧唯一发布者) */
|
||||
#include "sys_log.h"
|
||||
#include "ui_tokens.h" /* UI 设计令牌:循环周期 UI_TASK_TICK_MS / 待机阈值 UI_STANDBY_IDLE_MS */
|
||||
#include "sys_clock.h"
|
||||
@@ -143,6 +145,13 @@ void ui_task_func(void *argument) {
|
||||
/* 记录 reader 注入:必须在 ui_menu_init 之前(记录页在此前不可能被打开,
|
||||
* 但契约把"启动期先绑定"写死;未绑定窗口组件按空态防御——见 ui_w_records.h) */
|
||||
ui_w_records_bind(&s_rec_reader);
|
||||
/* 快照层复位:必须先于 ui_menu_init(首帧之前任何页面被打开都按"无数据"
|
||||
* 渲染 "--",不会读到上电残留)——UI_数据供给设计说明.md §5.3 */
|
||||
ui_data_init();
|
||||
/* 首帧立即发布:待机屏/菜单屏在启动早期就可能被远端推流打开,等 200 ms
|
||||
* 会闪一下 "--"(同文档 §5.3);本调用在 ui_menu_init 之前,页面尚未建立,
|
||||
* 发布路径不触 LVGL,安全 */
|
||||
ui_data_feed_tick();
|
||||
DBG_INFO("UI task: ui_menu_init enter");
|
||||
if (ui_menu_init() != 0) {
|
||||
DBG_ERROR("UI menu init: FAIL");
|
||||
@@ -190,6 +199,10 @@ void ui_task_func(void *argument) {
|
||||
lat_mark(&tm_loop);
|
||||
tm_loop_valid = 1U;
|
||||
#endif
|
||||
/* 数据装配节拍(200 ms 内部自分频,未到期时只比一次 tick):
|
||||
* 排在渲染之前,本轮绘制的就是本轮刚发布的那一帧
|
||||
* (UI_数据供给设计说明.md §5.1 单写者同上下文的前提就在这儿) */
|
||||
ui_data_feed_tick();
|
||||
ui_port_step(UI_TASK_TICK_MS);
|
||||
/* 心跳**先于**推流往返发出(判读口径 docs/子系统设计/看门狗设计说明.md §11.3):UI 心跳测的是
|
||||
* "UI 自身被调度到了",而非"netTask 回执快慢"。原写法心跳在 sink 之后,
|
||||
|
||||
Reference in New Issue
Block a user