feat: sync axis task state parity work

This commit is contained in:
wangdequan
2026-07-07 18:45:26 -04:00
parent 16484afce6
commit 8ef67f94c2
562 changed files with 175971 additions and 248 deletions

View File

@@ -2,7 +2,8 @@
源程序的AXIS 主界面的“急停、上电、Home、执行、暂停、单步执行”的详细调用链条和状态机制
2、包括c++的task、motion、状态记录方式“急停、上电、Home、执行、暂停、单步执行”的详细调用链条和状态机制
3、linuxcnc系统的c++都是如何实现“急停、上电、Home、执行、暂停、单步执行”的功能的详细调用链条和状态机制
4、每个按钮的可以执行的先条件每个按钮执行后如何记录当前状态详细分析“急停、上电、Home、执行、暂停、单步执行”的详细调用链条和状态机制
4、每个按钮的可以执行的先条件每个按钮执行后如何记录当前状态详细分析“急停、上电、Home、执行、暂停、单步执行”的详细调用链条和状态机制
5、指导完善“/home/mes123456/cnc_wams/wasm-port”的linuxcnc的wasm
6、指导完善“/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan”程序
7、上面的分析结果写入单独的文档中指导完善项目。
@@ -10,11 +11,11 @@
我会把 working9 定义为“执行 Run 按钮主线”但文档会保留急停、上电、Home、暂停、单步作为 Run 的前置与运行期状态链,因为这些状态直接决定执行按钮能否按 LinuxCNC 语义工作。
“硬编码“
compare 仍是 60/60 pass 只是表面pass
已经确认上层调用链的形状:按钮/快捷键只做状态检查和命令发送,所有“是否真的改变状态、是否允许继续执行、暂停/单步怎么推进”都落到 emctaskmain.cc 的命令接收、拦截和计划执行状态机。我继续读 C++ task 主循环和 motion 状态写回位置。
我发现 wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_task_hal_wasm.cpp 仍是“phase4_minimal”任务运行时存在手写 JSON 解析和 G-code 行派生 motion 的过渡逻辑。文档会明确指出这是当前最大语义漂移风险,并给出迁移到 vendored task/motion 状态机的分层步骤。