提交当前项目改动

This commit is contained in:
mes123456
2026-07-02 08:01:34 -04:00
parent 83075c4b96
commit c4a721f6cf
274 changed files with 157294 additions and 1394 deletions

View File

@@ -2,7 +2,7 @@
分析对象:
`/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini`
`/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini`
结论先行:这个配置不是一个单独程序,而是一套 LinuxCNC 运行配置。`linuxcnc <ini>` 先启动 LinuxCNC 后台进程、实时运动模块和 HAL 网络,再启动 `gmoccapy` GTK 界面。界面与后台的主要通信不是 HTTP/TCP API而是 LinuxCNC 的三类本地机制:
@@ -35,12 +35,12 @@
入口通常是:
```bash
linuxcnc /home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini
linuxcnc /home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini
```
启动脚本路径:
`/home/meswork/cnc_wams/linuxcnc/scripts/linuxcnc`
`/home/mes123456/cnc_wams/linuxcnc/scripts/linuxcnc`
关键过程如下。
@@ -97,9 +97,9 @@ linuxcnc /home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini
实际运行文件是:
`/home/meswork/cnc_wams/linuxcnc/bin/gmoccapy`
`/home/mes123456/cnc_wams/linuxcnc/bin/gmoccapy`
它与源码副本 `/home/meswork/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/gmoccapy.py` 只有 shebang Python 版本不同,主体逻辑一致。
它与源码副本 `/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/gmoccapy.py` 只有 shebang Python 版本不同,主体逻辑一致。
## 3. HAL 文件执行过程
@@ -226,7 +226,7 @@ self.builder.add_from_file(XMLNAME)
其中 `XMLNAME` 指向:
`/home/meswork/cnc_wams/linuxcnc/share/gmoccapy/gmoccapy.glade`
`/home/mes123456/cnc_wams/linuxcnc/share/gmoccapy/gmoccapy.glade`
4. 读取 INI
@@ -236,7 +236,7 @@ self._get_ini_data()
该逻辑由:
`/home/meswork/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/getiniinfo.py`
`/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/getiniinfo.py`
通过 `os.environ["INI_FILE_NAME"]` 和 `linuxcnc.ini()` 完成。
@@ -1240,46 +1240,46 @@ _button_pin_changed()
## 12. 关键源文件索引
- INI
- `/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini`
- `/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini`
- 启动脚本:
- `/home/meswork/cnc_wams/linuxcnc/scripts/linuxcnc`
- `/home/mes123456/cnc_wams/linuxcnc/scripts/linuxcnc`
- 实际 gmoccapy 可执行文件:
- `/home/meswork/cnc_wams/linuxcnc/bin/gmoccapy`
- `/home/mes123456/cnc_wams/linuxcnc/bin/gmoccapy`
- gmoccapy Glade 界面定义:
- `/home/meswork/cnc_wams/linuxcnc/share/gmoccapy/gmoccapy.glade`
- `/home/mes123456/cnc_wams/linuxcnc/share/gmoccapy/gmoccapy.glade`
- gmoccapy INI 读取:
- `/home/meswork/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/getiniinfo.py`
- `/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/getiniinfo.py`
- gmoccapy 对话框:
- `/home/meswork/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/dialogs.py`
- `/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/gmoccapy/dialogs.py`
- gladevcp HAL pin 生成:
- `/home/meswork/cnc_wams/linuxcnc/lib/python/gladevcp/makepins.py`
- `/home/meswork/cnc_wams/linuxcnc/lib/python/common/hal_glib.py`
- `/home/mes123456/cnc_wams/linuxcnc/lib/python/gladevcp/makepins.py`
- `/home/mes123456/cnc_wams/linuxcnc/lib/python/common/hal_glib.py`
- gladevcp LinuxCNC Action 和 MDI/File 控件:
- `/home/meswork/cnc_wams/linuxcnc/lib/python/gladevcp/hal_actions.py`
- `/home/meswork/cnc_wams/linuxcnc/lib/python/gladevcp/hal_filechooser.py`
- `/home/meswork/cnc_wams/linuxcnc/lib/python/gladevcp/hal_mdihistory.py`
- `/home/mes123456/cnc_wams/linuxcnc/lib/python/gladevcp/hal_actions.py`
- `/home/mes123456/cnc_wams/linuxcnc/lib/python/gladevcp/hal_filechooser.py`
- `/home/mes123456/cnc_wams/linuxcnc/lib/python/gladevcp/hal_mdihistory.py`
- LinuxCNC task/NML 主循环:
- `/home/meswork/cnc_wams/linuxcnc/src/emc/task/emctaskmain.cc`
- `/home/mes123456/cnc_wams/linuxcnc/src/emc/task/emctaskmain.cc`
- HAL
- `/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/core_sim_XYZAB.hal`
- `/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/spindle_sim.hal`
- `/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/simulated_home.hal`
- `/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_postgui.hal`
- `/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/core_sim_XYZAB.hal`
- `/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/spindle_sim.hal`
- `/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/simulated_home.hal`
- `/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_postgui.hal`
## 13. 按钮图标整理索引
本配置的 gmoccapy 图标主题来自
`/home/meswork/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.pref`
`/home/mes123456/cnc_wams/linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.pref`
中的 `icon_theme = classic`。界面按钮图标不是全部直接写在
`gmoccapy.glade` 中,运行时还会由
`/home/meswork/cnc_wams/linuxcnc/bin/gmoccapy` 的 `_set_icon_theme()`
`/home/mes123456/cnc_wams/linuxcnc/bin/gmoccapy` 的 `_set_icon_theme()`
按 `Gtk.IconTheme` 重新绑定到 `classic` 主题图标。
图标整理结果已单独保存到:
- `/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.md`
- `/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.csv`
- `/home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/files/`
- `/home/mes123456/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.md`
- `/home/mes123456/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.csv`
- `/home/mes123456/cnc_wams/work/working3/gmoccapy_button_icons/files/`
清单覆盖 Glade 静态按钮、Python 动态生成按钮、运行时 active/inactive 状态图标、
ToolEdit/OffsetPage 内嵌按钮,以及 `[MACROS]` 中宏按钮的自定义图片。当前整理结果