14 KiB
14 KiB
03-推进台账
2026-06-26 R1:启动 working5 对标推进
做了什么:
- 创建 working5 工作文件结构。
- 建立与
gmoccapy_XYZAB.ini执行流程对齐的任务矩阵和验收记录模板。 - 开始读取 LinuxCNC 执行分析和 Web 项目结构。
改了哪些文件:
/home/meswork/cnc_wams/work/working5/README.md/home/meswork/cnc_wams/work/working5/01-项目功能内容.md/home/meswork/cnc_wams/work/working5/02-项目程序开发详细步骤.md/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
- 待执行现有 Node、构建和浏览器冒烟测试。
下一步是什么:
- 执行
npm run smoke:node,根据失败项定位 LinuxCNC 行为差异。
2026-06-26 R2:基线验证与 gmoccapy 模式互锁修复
做了什么:
- 执行现有 Node、构建、浏览器冒烟测试,确认项目基线可运行。
- 对照
gmoccapy_XYZAB_execution_analysis.md和gmoccapy.py的STATE_OFF、STATE_ON、all_homed逻辑,发现 Web 侧允许提前点击 Manual/MDI/Auto 模式按钮,store 虽能拦截部分运行动作,但 UI 敏感状态不完全等同 gmoccapy。 - 修改 task policy:
SET_MODE在机床未上电时禁止 Manual/MDI/Auto/Jog;机床上电但未回零时只允许 Manual/Jog,禁止 MDI/Auto;Auto 运行中仍禁止离开 Auto。 - 修改 gmoccapy Web shell:右侧 Manual/Jog/Auto/MDI 模式按钮统一使用
gateLinuxCncTaskAction,以disabled、data-command-ready、aria-disabled和 title 展示互锁原因。 - 补充 Node 和浏览器测试,锁定下电、上电未回零、回零后三个阶段的模式按钮行为。
改了哪些文件:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/linuxcnc-task-policy.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_run_preconditions.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && node ../tests/node/verify_run_preconditions.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh通过。npm run smoke:node通过。npm run build && npm run smoke通过。
下一步是什么:
- 下一轮可继续按任务矩阵深入核对 Tool/M6/M61 手动换刀对话框、限位 override、optional stop/block delete HAL pin 交叉行为等更细粒度 gmoccapy 行为。
2026-06-26 R3:细化 gmoccapy XYZAB 换刀 HAL 语义
做了什么:
- 对照
gmoccapy_postgui.hal,确认该 XYZAB 仿真配置在 GUI ready 后执行unlinkp iocontrol.0.tool-change、unlinkp iocontrol.0.tool-changed、unlinkp iocontrol.0.tool-prep-number,并将gmoccapy.toolchange-*手动换刀 GUI nets 保持注释状态。 - 在 Web profile 和 HAL 诊断模型中显式记录换刀策略为
iocontrol-loopback,手动 gmoccapy 换刀 GUI pins 未连接,活动回环为iocontrol.0.tool-change -> iocontrol.0.tool-changed。 - 在 gmoccapy UI 诊断页新增
Tool change行,显示换刀策略、手动 GUI pin 连接状态、POSTGUIunlinkp数量和注释掉的手动换刀 nets 数量。 - 补充 Node 与浏览器断言,防止后续误把此配置表述为需要 gmoccapy 手动换刀确认对话框。
改了哪些文件:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_profile_boundary.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_profile_boundary.mjs通过。npm run smoke:node通过。npm run build && npm run smoke通过。
下一步是什么:
- 可继续核对限位 override、optional stop/block delete、外部 HAL hard-button pin 与 UI action 的交叉行为。
2026-06-26 R4:细化外部 HAL hard-button pin 与 Web UI action 映射
做了什么:
- 对照
gmoccapy.py的_make_hal_pins()、_button_pin_changed()、_get_child_button()和gmoccapy.glade的vbtb_main顺序,确认外部硬按钮 pin 只响应 rising edge,并按当前可见且敏感的 GTK 按钮位置触发;目标隐藏或不敏感时忽略。 - 修正
gmoccapy-xyzabpanel schema 中右侧主按钮 HAL pin 顺序:tbtn_estop/tbtn_on/rbt_manual/rbt_mdi/rbt_auto对应gmoccapy.v-button.button-0..4,不再把 Estop/Power 误列为h-button。 - 在 HAL model 和 communication model 中增加 hard-button 结构化映射,记录 7 个右侧
v-buttonpin、底部主页面h-button引用、rising-edge 语义、insensitive ignored 语义和 Web selector/action 对应关系。 - 在 store 中新增
GMOCAPY_HARDWARE_BUTTONaction,用同一套 Web action/gate 模拟外部 HAL hard-button pin;falling edge、未映射 pin 和诊断-only pin 均给出明确 operator message。 - 在 UI 按钮 DOM 上新增
data-gmoccapy-hal-pin、data-gmoccapy-native-panel、data-gmoccapy-native-button-index,并在 gmoccapy HAL 诊断中显示 hard-button 摘要。 - 补充 Node 和浏览器断言,覆盖 hard-button 模型、通信路径、profile pin 顺序、store gate 行为和 DOM 映射。
改了哪些文件:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-communication-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs通过。npm run smoke:node通过。npm run build && npm run smoke通过。
下一步是什么:
- 可继续核对
gmoccapy.ignore-limits、gmoccapy.optional-stop、gmoccapy.blockdelete、override analog/count/reset pins 与 Web 状态的交叉行为。
2026-06-27 R5:细化 gmoccapy HAL 输入 pin 与倍率 pin 语义
做了什么:
- 对照
gmoccapy.py的_ignore_limits()、_optional_blocks()、_blockdelete()、_on_counts_changed()、_on_analog_value_changed()、_reset_override()和gmoccapy_XYZAB.pref,确认本轮应保留optional-stop/blockdelete的交叉语义,以及 counts/direct-value/reset 的 enable 和 rising-edge 规则。 - 在 Web store 中新增
GMOCAPY_HAL_PINaction,统一模拟gmoccapy.ignore-limits、gmoccapy.optional-stop、gmoccapy.blockdelete、feed/rapid/spindle/jog override counts、analog direct-value 和 reset pins。 - 在
gmoccapyGui状态中记录 ignore limits、block delete、optional stop、override enable/counts、jog velocity 和最后一次 HAL pin 效果。 - 扩展 profile、HAL model、communication model 和 UI 诊断,明确
optional-stop -> block delete、blockdelete -> optional stop、counts 需要 count-enable、direct-value 需要 analog-enable、reset 只响应 rising edge。 - 在 override 面板增加 ignore limits、block delete、optional stop 和 100% override reset 控件,并补充浏览器 DOM/状态断言。
改了哪些文件:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-communication-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/styles/gmoccapy.css/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs && node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs && bash ../tests/browser/verify_gmoccapy_shell_browser.sh通过。npm run smoke:node通过。npm run build && npm run smoke通过。
下一步是什么:
- 可继续核对
gmoccapy.jog.axis.*、gmoccapy.jog.jog-inc-*、gmoccapy.delete-message、gmoccapy.warning-confirm等剩余 HAL pin 与 Web 状态/消息系统的映射。
2026-06-27 R6:细化 gmoccapy jog 与消息 HAL pin 语义
做了什么:
- 对照
gmoccapy.py的_on_pin_jog_changed()、_on_pin_incr_changed()、_on_pin_turtle_jog()、_del_message_changed()和dialogs.warning_dialog(),确认 jog axis pin 是按下/释放电平语义,jog increment pin 只响应 true/rising edge,jog-inc-0为连续点动,delete-message只在 true 时删除消息,warning-confirm是活动 warning dialog 的轮询确认 pin。 - 在
gmoccapy-xyzabprofile 中补齐 XYZAB 的 10 个 axis jog pins、jog-inc-0..5、jog.jog-increment、jog.turtle-jog、delete-message和warning-confirm。 - 扩展 HAL model 和 communication model,记录 jog axis、jog increment、turtle jog、message pins 的源码回调、summary 数量和 Web 映射。
- 扩展
GMOCAPY_HAL_PIN:模拟 jog axis press/release、jog increment rising-edge 选择、turtle jog level、delete-message falling-edge 忽略和 warning-confirm level 状态。 - 在 gmoccapy UI 诊断中新增
HAL jog和HAL messages行,并补充 Node/浏览器断言。
改了哪些文件:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-communication-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs/home/meswork/cnc_wams/work/working5/03-推进台账.md/home/meswork/cnc_wams/work/working5/04-任务矩阵.md/home/meswork/cnc_wams/work/working5/05-验收证据.md/home/meswork/cnc_wams/work/working5/06-决策记录.md
验证了什么:
node ../tests/node/verify_gmoccapy_hal_model.mjs && node ../tests/node/verify_gmoccapy_communication_model.mjs通过。node ../tests/node/verify_gmoccapy_xyzab_profile.mjs && node ../tests/node/verify_gmoccapy_xyzab_gates.mjs通过。bash ../tests/browser/verify_gmoccapy_shell_browser.sh通过。npm run smoke:node通过。npm run build && npm run smoke通过。
下一步是什么:
- 可继续核对
gmoccapy.unlock-settings、tool measurement/blockheight/probeheight、INI user messages 等更低频 HAL pins;本轮 W5-190 已完成。