docs: record pause wasm implementation plan
This commit is contained in:
@@ -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
|
||||
现在使用的是明确的工具栏按钮 ID:tbtn_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.axisPose,Vismach 也优先用 programRuntimeFeedback.axisPose 或 taskHalStatus 的 axisPose。即使 state.axisPose 冻住,只要 paused 反馈里带了新 axisPose,刀具和 Position 还会变。我会在暂停状态下把 runtimeFeedback 的 axisPose/tcp 固定为暂停瞬间的 pose,并让 Vismach 在 paused 时不用 taskHalStatus 的新位置。
|
||||
|
||||
目前文档里的硬对比已经覆盖 60 项,但用户要求是“完全对标”,我不会只接受旧结论。我会先跑现有证据链,若仍通过,再补强 working 文档中对“5axis/table-rotary-tilting/xyzbc-trt”的命名、范围、复验规则和执行结果,最后按修订后的规则复验。
|
||||
|
||||
|
||||
|
||||
32
备忘/16备用暂停按钮实现详细过程.txt
Normal file
32
备忘/16备用暂停按钮实现详细过程.txt
Normal 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 自动回暂停等还偏简化。我会把这一区分写进任务矩阵,避免后续把前端表象通过误判为底层完成。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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,
|
||||
避免下电断言影响后续流程。
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user