按规划持续工作
结论:已将 vendored LinuxCNC TDR 和 bridge-mill REMAP 描述符纳入 linuxcnc_remap_parse_harness,parse 层与现有执行 baseline 覆盖范围一致,native 验证通过,未实现自有 M 码语义。
This commit is contained in:
@@ -626,10 +626,10 @@ using `M68`, `M66`, and `_hal[motion.switchkins-type]`; it does not implement
|
||||
the remap execution path.
|
||||
|
||||
`linuxcnc_remap_parse_harness` links vendored `interp_remap.cc` for the
|
||||
standalone remap descriptor path. It reads the vendored `xyzac-trt` and
|
||||
`xyzbc-trt` INI `REMAP` entries, resolves their `remap_subs/*.ngc` files
|
||||
through LinuxCNC `find_ngc_file()`, and validates the resulting
|
||||
`_setup.m_remapped` descriptors for `M428`, `M429`, and `M430`. Python
|
||||
callbacks remain runtime boundaries. Native and WASM validation now execute
|
||||
the NGC remap/file paths through vendored LinuxCNC O-word dispatch and the
|
||||
standalone HAL adapter boundary.
|
||||
standalone remap descriptor path. It reads the vendored `xyzac-trt`,
|
||||
`xyzbc-trt`, `xyzab-tdr`, and bridge-mill INI `REMAP` entries, resolves their
|
||||
`remap_subs/*.ngc` files through LinuxCNC `find_ngc_file()`, and validates the
|
||||
resulting `_setup.m_remapped` descriptors for each machine's LinuxCNC-defined
|
||||
`M428`/`M429`/`M430` set. Python callbacks remain runtime boundaries. Native
|
||||
and WASM validation now execute the NGC remap/file paths through vendored
|
||||
LinuxCNC O-word dispatch and the standalone HAL adapter boundary.
|
||||
|
||||
@@ -797,8 +797,9 @@ Current five-axis switchkins status:
|
||||
vendored LinuxCNC NGC subroutines; do not replace them with standalone
|
||||
M-code handlers.
|
||||
4. `linuxcnc_remap_parse_harness` now links vendored `interp_remap.cc` and
|
||||
validates the LinuxCNC `Interp::parse_remap()` path for `xyzac-trt` and
|
||||
`xyzbc-trt` `M428`/`M429`/`M430` NGC remap descriptors.
|
||||
validates the LinuxCNC `Interp::parse_remap()` path for `xyzac-trt`,
|
||||
`xyzbc-trt`, `xyzab-tdr`, and bridge-mill NGC remap descriptors, matching
|
||||
each vendored machine's LinuxCNC-defined `M428`/`M429`/`M430` set.
|
||||
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
|
||||
|
||||
@@ -72,13 +72,13 @@ Current validation is intentionally mechanical:
|
||||
userspace genser flows are not yet established.
|
||||
- Five-axis M428/M429/M430 source assets are now vendored for bridge-mill,
|
||||
dual-rotary, and table-rotary-tilting LinuxCNC sample machines. NGC remap
|
||||
descriptors for the TRT sample machines are parsed through vendored
|
||||
`Interp::parse_remap()` and `find_ngc_file()` by
|
||||
descriptors for the TRT, TDR, and bridge-mill sample machines are parsed
|
||||
through vendored `Interp::parse_remap()` and `find_ngc_file()` by
|
||||
`linuxcnc_remap_parse_harness`; native, WASM Node, browser interpreter, and
|
||||
INI panel UI validation execute the selected TRT switchkins demo files
|
||||
through vendored LinuxCNC O-word remap dispatch, file
|
||||
`open()`/`read()`/`execute()`, and the standalone HAL adapter boundary for
|
||||
`M68`/`M66` plus `_hal[motion.switchkins-type]` readback.
|
||||
INI panel UI validation execute the selected switchkins demo files through
|
||||
vendored LinuxCNC O-word remap dispatch, file `open()`/`read()`/`execute()`,
|
||||
and the standalone HAL adapter boundary for `M68`/`M66` plus
|
||||
`_hal[motion.switchkins-type]` readback.
|
||||
- Cutter compensation positive motion and negative interpreter paths are
|
||||
fixture-covered through vendored `interp_convert.cc` and `interp_queue.cc`.
|
||||
- Browser/WASM C ABI and JS SDK layers are now present for the INI parser, the
|
||||
|
||||
@@ -134,6 +134,23 @@ int main()
|
||||
{430, "M430", "430remap"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"xyzab_tdr",
|
||||
"configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini",
|
||||
{
|
||||
{428, "M428", "428remap"},
|
||||
{429, "M429", "429remap"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"bridgemill",
|
||||
"configs/sim/axis/vismach/5axis/bridgemill/5axis.ini",
|
||||
{
|
||||
{428, "M428", "428remap"},
|
||||
{429, "M429", "429remap"},
|
||||
{430, "M430", "430remap"},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
bool ok = true;
|
||||
|
||||
@@ -266,6 +266,22 @@ grep -Fq "xyzbc_trt_M428_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzbc_trt_M429_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzbc_trt_M430_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzbc_trt_linuxcnc_ngc_remaps_parsed=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_ini_open=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_parse_remap_1=0" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_parse_remap_2=0" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_parsed_remap_count=2" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_M428_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_M429_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "xyzab_tdr_linuxcnc_ngc_remaps_parsed=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_ini_open=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_parse_remap_1=0" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_parse_remap_2=0" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_parse_remap_3=0" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_parsed_remap_count=3" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_M428_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_M429_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_M430_ngc=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "bridgemill_linuxcnc_ngc_remaps_parsed=1" "$REMAP_PARSE_STDOUT"
|
||||
grep -Fq "fiveaxis_linuxcnc_remap_parse_path=1" "$REMAP_PARSE_STDOUT"
|
||||
|
||||
REMAP_HAL_SYNC_STDOUT="$BUILD_DIR/linuxcnc_remap_hal_sync_harness.run.stdout.log"
|
||||
|
||||
Reference in New Issue
Block a user