按规划持续工作

结论:已将 vendored LinuxCNC impeller-7bl-xyzac.ngc 纳入五轴 TRT remap/tool-table/file 执行 baseline,native、Node WASM、browser 和 UI 均通过同源验证,未实现自有 M428/M429/M430 或运动学语义。
This commit is contained in:
2026-06-08 18:37:22 +08:00
parent c6c60c4866
commit 4cd01deafb
10 changed files with 100 additions and 24 deletions

View File

@@ -374,7 +374,8 @@ TOOL_TABLE = browser-tool.tbl
if (
!remapLog.includes("fiveaxis_ini_open=1") ||
!remapLog.includes("fiveaxis_tool_table_load=0") ||
!remapLog.includes("fiveaxis_file_read_count=1927") ||
!remapLog.includes("fiveaxis_file_read_count=4558") ||
!remapLog.includes("fiveaxis_file_finish_count=2") ||
!remapLog.includes("fiveaxis_hal_switchkins: rc=0 found=1 value=0") ||
!remapLog.includes("fiveaxis_linuxcnc_remap_file_execute=1")
) {

View File

@@ -145,6 +145,11 @@
`${sourceDir}/demos/boat-xyzbc.ngc`,
`${wasmDir}/demos/boat-xyzbc.ngc`,
);
await writeFetchedTextFile(
interp,
`${sourceDir}/demos/impeller-7bl-xyzac.ngc`,
`${wasmDir}/demos/impeller-7bl-xyzac.ngc`,
);
return wasmDir;
}
@@ -453,6 +458,28 @@
"fiveaxis_linuxcnc_remap_file_execute=1",
].join("\n"),
);
verifyExpectedOutput(
"browser_fiveaxis_impeller_7bl_xyzac",
interp.runFiveAxisRemapFile(
`${fiveAxisTrtDir}/demos/impeller-7bl-xyzac.ngc`,
`${fiveAxisTrtDir}/xyzac-trt.ini`,
),
[
"fiveaxis_ini_open=1",
"fiveaxis_tool_table_load=0",
"fiveaxis_parse_remap_1=0",
"fiveaxis_parse_remap_2=0",
"fiveaxis_parse_remap_3=0",
"fiveaxis_file_open=0",
"fiveaxis_file_read_count=4558",
"fiveaxis_file_execute_count=4558",
"fiveaxis_file_finish_count=2",
"fiveaxis_file_final_rc=1",
"fiveaxis_file_reached_exit=1",
"fiveaxis_hal_switchkins: rc=0 found=1 value=0",
"fiveaxis_linuxcnc_remap_file_execute=1",
].join("\n"),
);
verifyExpectedOutput(
"restore_parameters_missing_file",

View File

@@ -350,6 +350,14 @@ grep -Fq "xyzbc_trt_boat_xyzbc_file_final_rc=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzbc_trt_boat_xyzbc_file_reached_exit=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzbc_trt_boat_xyzbc__hal[motion.switchkins-type]: rc=0 found=1 value=0" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzbc_trt_boat_xyzbc_linuxcnc_demo_file_execute=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_open=0" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_read_count=4558" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_execute_count=4558" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_finish_count=2" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_final_rc=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_file_reached_exit=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac__hal[motion.switchkins-type]: rc=0 found=1 value=0" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "xyzac_trt_impeller_7bl_xyzac_linuxcnc_demo_file_execute=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
grep -Fq "fiveaxis_linuxcnc_remap_execute_path=1" "$FIVEAXIS_REMAP_EXECUTE_STDOUT"
NAMEDPARAM_STDOUT="$BUILD_DIR/linuxcnc_namedparam_harness.run.stdout.log"

View File

@@ -129,6 +129,10 @@ function writeFiveAxisTrtMachineFiles() {
resolve(sourceDir, "demos/boat-xyzbc.ngc"),
`${wasmDir}/demos/boat-xyzbc.ngc`,
);
writeVendorTextFile(
resolve(sourceDir, "demos/impeller-7bl-xyzac.ngc"),
`${wasmDir}/demos/impeller-7bl-xyzac.ngc`,
);
return wasmDir;
}
@@ -442,6 +446,28 @@ verifyExpectedOutput(
"fiveaxis_linuxcnc_remap_file_execute=1",
].join("\n"),
);
verifyExpectedOutput(
"fiveaxis_impeller_7bl_xyzac_wasm",
interp.runFiveAxisRemapFile(
`${fiveAxisTrtDir}/demos/impeller-7bl-xyzac.ngc`,
`${fiveAxisTrtDir}/xyzac-trt.ini`,
),
[
"fiveaxis_ini_open=1",
"fiveaxis_tool_table_load=0",
"fiveaxis_parse_remap_1=0",
"fiveaxis_parse_remap_2=0",
"fiveaxis_parse_remap_3=0",
"fiveaxis_file_open=0",
"fiveaxis_file_read_count=4558",
"fiveaxis_file_execute_count=4558",
"fiveaxis_file_finish_count=2",
"fiveaxis_file_final_rc=1",
"fiveaxis_file_reached_exit=1",
"fiveaxis_hal_switchkins: rc=0 found=1 value=0",
"fiveaxis_linuxcnc_remap_file_execute=1",
].join("\n"),
);
const parameterFilePath = "/work/rs274ngc.var";
interp.writeTextFile(