按规划持续工作
结论:已将 vendored LinuxCNC xyzab-tdr-demo.ngc 纳入五轴 table-dual-rotary remap/tool-table/file 执行 baseline,native、Node WASM 和 browser 均通过同源验证;TDR 按 LinuxCNC INI 的两个 REMAP 验证,未实现自有 M 码或运动学语义。
This commit is contained in:
@@ -111,10 +111,12 @@ file execution path. It also writes the vendored LinuxCNC `xyzac-trt` and
|
||||
`xyzbc-trt` table-rotary-tilting sample machine INI, `remap_subs/*.ngc`, and
|
||||
`xyzac_switchkins.ngc`/`xyzbc_switchkins.ngc`, `boat-xyzac.ngc`,
|
||||
`boat-xyzbc.ngc`, and `impeller-7bl-xyzac.ngc` demo files into the Emscripten
|
||||
filesystem, then validates the WASM C ABI/SDK path for vendored LinuxCNC
|
||||
`REMAP` parsing, vendored LinuxCNC tool-table loading from the machine INI,
|
||||
O-word remap execution, `M68`/`M66` HAL synchronization, and file
|
||||
`open()`/`read()`/`execute()` completion without JavaScript M-code or
|
||||
filesystem. It also writes the vendored LinuxCNC `xyzab-tdr` table-dual-rotary
|
||||
INI, tool table, `remap_subs/*.ngc`, and `xyzab-tdr-demo.ngc` into the
|
||||
Emscripten filesystem. These checks validate the WASM C ABI/SDK path for
|
||||
vendored LinuxCNC `REMAP` parsing, vendored LinuxCNC tool-table loading from
|
||||
the machine INI, O-word remap execution, `M68`/`M66` HAL synchronization, and
|
||||
file `open()`/`read()`/`execute()` completion without JavaScript M-code or
|
||||
kinematics semantics. The same Node smoke writes
|
||||
LinuxCNC-format parameter files into the Emscripten filesystem and validates
|
||||
vendored `Interp::restore_parameters()` and `Interp::save_parameters()`,
|
||||
@@ -164,8 +166,9 @@ when a machine session is copied into the interpreter WASM filesystem. It also
|
||||
clicks the INI panel's 5-axis remap demo action and verifies that the UI
|
||||
copies vendored LinuxCNC `xyzac-trt` machine/remap/demo files into the
|
||||
interpreter WASM filesystem, calls the LinuxCNC-backed SDK remap execution
|
||||
path for the vendored `boat-xyzac.ngc` demo, and displays the resulting
|
||||
`fiveaxis_*` status lines without JavaScript M-code or kinematics semantics.
|
||||
path for the vendored `impeller-7bl-xyzac.ngc` demo, and displays the
|
||||
resulting `fiveaxis_*` status lines without JavaScript M-code or kinematics
|
||||
semantics.
|
||||
|
||||
The browser interpreter smoke script serves `wasm-port/` over localhost and
|
||||
runs Chromium headless against a test page that loads the interpreter-core
|
||||
@@ -199,9 +202,12 @@ WASM filesystem, and that absent INI file-name values use the default OPFS
|
||||
parameter/tool-table paths in a real browser session. It also writes vendored
|
||||
LinuxCNC `xyzac-trt`/`xyzbc-trt` INI, remap subroutines, and switchkins demo
|
||||
files, including the larger `boat-xyzac.ngc`, `boat-xyzbc.ngc`, and
|
||||
`impeller-7bl-xyzac.ngc` demos, into the browser WASM filesystem and verifies
|
||||
`runFiveAxisRemapFile()` for both sample machines through the exported
|
||||
LinuxCNC remap/tool-table/file execution path.
|
||||
`impeller-7bl-xyzac.ngc` demos, into the browser WASM filesystem. It also
|
||||
writes vendored LinuxCNC `xyzab-tdr` machine files and `xyzab-tdr-demo.ngc`
|
||||
into the browser WASM filesystem. The browser smoke verifies
|
||||
`runFiveAxisRemapFile()` for the table-rotary-tilting and table-dual-rotary
|
||||
sample machines through the exported LinuxCNC remap/tool-table/file execution
|
||||
path.
|
||||
|
||||
The aggregate host smoke script builds the INI, interpreter-core, and
|
||||
trajectory-planner WASM artifacts once, then runs the Node WASM smokes, the
|
||||
@@ -231,7 +237,7 @@ The validation fails if:
|
||||
| `linuxcnc_interp_init_harness` | Validates vendored LinuxCNC `Interp::init()` emits canonical initialization boundaries, reads metric/inch machine units, and synchronizes current/selected tool slots through standalone status adapters. |
|
||||
| `linuxcnc_indexer_harness` | Validates vendored LinuxCNC single-axis rotary indexer dispatch emits lock/unlock and motion boundaries through the standalone event sink. |
|
||||
| `linuxcnc_remap_hal_sync_harness` | Validates vendored LinuxCNC `M68`/`M66` execution can drive the standalone HAL adapter boundary used by 5-axis switchkins remap files, including `_hal[motion.switchkins-type]` readback. |
|
||||
| `linuxcnc_5axis_remap_execute_harness` | Validates vendored LinuxCNC `REMAP` parsing plus NGC remap execution for the 5-axis `M429 -> M428 -> M430 -> M429` switchkins path in the `xyzac-trt` and `xyzbc-trt` sample machines, loads vendored machine tool tables through LinuxCNC `tooldata_load()`, then runs vendored `xyzac_switchkins.ngc`, `xyzbc_switchkins.ngc`, `xyzac_switchkins_test_1.ngc`, `xyzac_switchkins_test_3.ngc`, `boat-xyzac.ngc`, `boat-xyzbc.ngc`, and `impeller-7bl-xyzac.ngc` through the LinuxCNC file `open/read/execute` path. |
|
||||
| `linuxcnc_5axis_remap_execute_harness` | Validates vendored LinuxCNC `REMAP` parsing plus NGC remap execution for the 5-axis `M429 -> M428 -> M430 -> M429` switchkins path in the `xyzac-trt` and `xyzbc-trt` sample machines, plus the two-remap `M429 -> M428 -> M429` path in the `xyzab-tdr` sample machine. It loads vendored machine tool tables through LinuxCNC `tooldata_load()`, then runs vendored `xyzac_switchkins.ngc`, `xyzbc_switchkins.ngc`, `xyzac_switchkins_test_1.ngc`, `xyzac_switchkins_test_3.ngc`, `boat-xyzac.ngc`, `boat-xyzbc.ngc`, `impeller-7bl-xyzac.ngc`, and `xyzab-tdr-demo.ngc` through the LinuxCNC file `open/read/execute` path. |
|
||||
| `linuxcnc_tp_api_probe` | Validates vendored LinuxCNC trajectory planner calls for linear, arc, and queued motion paths. |
|
||||
| `linuxcnc_kinematics_probe` | Validates vendored LinuxCNC `trivkins.c` plus `kins_util.c` initialize and perform identity forward/inverse mapping through the standalone HAL/RTAPI boundary. |
|
||||
| `linuxcnc_5axis_kinematics_probe` | Validates vendored LinuxCNC `5axiskins.c` through `switchkins.c`, including 5-axis forward/inverse round-trip behavior and switching to identity kinematics. |
|
||||
|
||||
@@ -802,17 +802,18 @@ Current five-axis switchkins status:
|
||||
5. `linuxcnc_remap_hal_sync_harness` validates vendored LinuxCNC `M68` and
|
||||
`M66` synchronization through the standalone HAL adapter boundary.
|
||||
6. `linuxcnc_5axis_remap_execute_harness` executes the `xyzac-trt` and
|
||||
`xyzbc-trt` switchkins `M429 -> M428 -> M430 -> M429` paths, loads
|
||||
vendored machine tool tables through LinuxCNC `tooldata_load()`, and runs
|
||||
vendored `xyzac_switchkins.ngc`, `xyzbc_switchkins.ngc`,
|
||||
`xyzbc-trt` switchkins `M429 -> M428 -> M430 -> M429` paths plus the
|
||||
`xyzab-tdr` two-remap `M429 -> M428 -> M429` path, loads vendored machine
|
||||
tool tables through LinuxCNC `tooldata_load()`, and runs vendored
|
||||
`xyzac_switchkins.ngc`, `xyzbc_switchkins.ngc`,
|
||||
`xyzac_switchkins_test_1.ngc`, `xyzac_switchkins_test_3.ngc`,
|
||||
`boat-xyzac.ngc`, `boat-xyzbc.ngc`, and `impeller-7bl-xyzac.ngc` through
|
||||
LinuxCNC remap/file execution paths.
|
||||
`boat-xyzac.ngc`, `boat-xyzbc.ngc`, `impeller-7bl-xyzac.ngc`, and
|
||||
`xyzab-tdr-demo.ngc` through LinuxCNC remap/file execution paths.
|
||||
7. The WASM interpreter core now links vendored `interp_remap.cc` plus the
|
||||
Python-only runtime edge stub, and the Node WASM smoke runs vendored
|
||||
`xyzac_switchkins.ngc`, `xyzbc_switchkins.ngc`, `boat-xyzac.ngc`, and
|
||||
`boat-xyzbc.ngc`, plus `impeller-7bl-xyzac.ngc` through the SDK C ABI
|
||||
without JavaScript M-code or kinematics semantics.
|
||||
`boat-xyzbc.ngc`, `impeller-7bl-xyzac.ngc`, and `xyzab-tdr-demo.ngc`
|
||||
through the SDK C ABI without JavaScript M-code or kinematics semantics.
|
||||
8. Browser smoke and the INI panel UI now expose the same validated 5-axis
|
||||
remap execution path by copying vendored LinuxCNC sample-machine files into
|
||||
the interpreter WASM filesystem and calling the SDK C ABI.
|
||||
@@ -822,8 +823,8 @@ Next work:
|
||||
1. Continue broadening five-axis fixture coverage through the same
|
||||
source-backed execution boundary.
|
||||
2. Evaluate additional vendored LinuxCNC five-axis sample machines and demos
|
||||
after the TRT boat and impeller demos are stable in native, Node WASM,
|
||||
browser, and UI remap paths.
|
||||
after the TRT boat/impeller and TDR demo paths are stable in native, Node
|
||||
WASM, browser, and UI remap paths.
|
||||
|
||||
Involved LinuxCNC source:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user