docs: record pause wasm implementation plan

This commit is contained in:
wangdequan
2026-07-07 09:40:33 -04:00
parent 6cecd280e2
commit 83402c506e
3299 changed files with 1364681 additions and 325 deletions

View File

@@ -9,14 +9,40 @@ web的仿真系统“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan
除了硬件相关的,在仿真的所有方面完全对标“/home/mes123456/cnc_wams/linuxcnc源程序”的xyzbc-trt
对标“/home/mes123456/cnc_wams/linuxcnc源程序”的xyzbc-trt
对标“/home/mes123456/cnc_wams/linuxcnc”的源程序 xyzbc-trt
web的仿真系统“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan”的功能
解除“ESTOP” “上电” Home All “Run” “暂停” 5秒 继续执行 10秒后 ,再“暂停” 5秒 继续执行 10秒。通过50毫秒截屏方式进行验证。
/home/mes123456/cnc_wams/linuxcnc
现在使用的是明确的工具栏按钮 IDtbtn_pause 和 btn_step。脚本已经进入运行/采样阶段,我等最终输出。
这里发现另一个实际页面问题:直接点工具栏 ESTOP 图标没有解除 ESTOP状态仍停在 taskState=estop。这和之前验证脚本用 dispatch({type:"RESET"}) 做准备不同。我要先把真实按钮点击链路查清楚,否则暂停测试前置条件就不可靠。
对标“/home/mes123456/cnc_wams/linuxcnc源程序”的xyzbc-trt
解决项目web的仿真系统“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan”的问题
点击“暂停按钮”红色方块内部的按钮G代码执行还是没有暂停刀具还在运行。
通过保存G代码真实执行过程的json分析通过对Position位置还在变化进行追踪发现错误并且修改。
你真实的使用界面直接操作进行测试。
我会先补上竞态防护:暂停发起后将 task/HAL 执行序号推进,确保已经在路上的状态采样不能在暂停之后覆盖 runState/axisPose/feed。这和 LinuxCNC 的 task_paused 状态语义一致。
点击暂停按钮刀具还在运行Position位置还在变化
通过执行过程的json对Position位置还在变化进行追踪发现错误并且修改。
明确问题点了:渲染层优先用 programUiExecution.tcp 和 programRuntimeFeedback.axisPoseVismach 也优先用 programRuntimeFeedback.axisPose 或 taskHalStatus 的 axisPose。即使 state.axisPose 冻住,只要 paused 反馈里带了新 axisPose刀具和 Position 还会变。我会在暂停状态下把 runtimeFeedback 的 axisPose/tcp 固定为暂停瞬间的 pose并让 Vismach 在 paused 时不用 taskHalStatus 的新位置。
目前文档里的硬对比已经覆盖 60 项,但用户要求是“完全对标”,我不会只接受旧结论。我会先跑现有证据链,若仍通过,再补强 working 文档中对“5axis/table-rotary-tilting/xyzbc-trt”的命名、范围、复验规则和执行结果最后按修订后的规则复验。

View File

@@ -0,0 +1,32 @@
已经看到文档的核心结论:暂停必须同时作用在 task/interpreter 和 motion/trajectory 两层。下一步我会定位 wasm-port 是否已有 task/hal/tp 导出,以及前端暂停按钮当前只改了哪些状态。
wasm-port 已经有 linuxcnc_task_hal_wasm.cpp、linuxcnc_motion_runtime.c 和 TP wasm 包装层,说明方案不是从零写暂停,而是把 task pause/resume 与 motion pause/resume 状态对齐并向前端暴露。现在我会读这些封装的关键段落和现有测试,再生成 work/working8 的推进文档。
现有 working/17 显示前端层曾经通过过“位置冻结”测试,但这不等于 wasm 语义已经完整对标,因为底层 task 恢复状态、motion paused 字段、STEP 自动回暂停等还偏简化。我会把这一区分写进任务矩阵,避免后续把前端表象通过误判为底层完成。

View File

@@ -20,11 +20,17 @@
我会把这次当作“全量主控制按钮对标”处理:先重新读参考文档的完整条目,
再逐项核对当前 Web 的
ESTOP、RESET、POWER、HOME、RUN、PAUSE、RESUME、STEP
行为和测试覆盖,发现偏差就直接修正。
项目“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan”
要完全对标“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/doc/AXIS
主控制按钮功能先决条件与状态影响详解.md”
我会在 MDI 测试前恢复按钮状态为 reset、on、homed
避免下电断言影响后续流程。