按规划继续工作
结论:接入 vendored LinuxCNC tooldata_common.cc 负责刀具表解析与保存,WASM/SDK/OPFS/UI 仅做运行时边界搬运;native、WASM、OPFS 和浏览器 smoke 验证已通过。
This commit is contained in:
@@ -9,9 +9,14 @@
|
||||
<script type="module">
|
||||
import { createLinuxCncInterpSdk } from "../../runtime/sdk/src/index.js";
|
||||
import {
|
||||
restoreMachineParametersFromOpfs,
|
||||
saveMachineParametersToOpfs,
|
||||
} from "../../runtime/opfs/linuxcnc-parameter-bridge.js";
|
||||
import {
|
||||
saveMachineToolTableToOpfs,
|
||||
} from "../../runtime/opfs/linuxcnc-tool-table-bridge.js";
|
||||
import {
|
||||
loadMachineSessionFromOpfs,
|
||||
} from "../../runtime/opfs/linuxcnc-machine-session-bridge.js";
|
||||
import {
|
||||
loadMachineTextFiles,
|
||||
saveMachineTextFiles,
|
||||
@@ -118,7 +123,7 @@
|
||||
|
||||
await saveMachineTextFiles("browser-interp", {
|
||||
ini: "[EMC]\nMACHINE = browser-interp\n",
|
||||
toolTable: "T0 P0 ; no tool\n",
|
||||
toolTable: "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n",
|
||||
parameters: [
|
||||
"5161 10.5",
|
||||
"5162 20.25",
|
||||
@@ -129,14 +134,18 @@
|
||||
"",
|
||||
].join("\n"),
|
||||
});
|
||||
const restoredParameters = await restoreMachineParametersFromOpfs(
|
||||
const loadedSession = await loadMachineSessionFromOpfs(
|
||||
interp,
|
||||
"browser-interp",
|
||||
{ wasmPath: "/work/browser-linuxcnc.var" },
|
||||
{
|
||||
iniWasmPath: "/work/browser-machine.ini",
|
||||
parameterWasmPath: "/work/browser-linuxcnc.var",
|
||||
toolTableWasmPath: "/work/browser-tool.tbl",
|
||||
},
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_restore_parameters",
|
||||
restoredParameters.result,
|
||||
loadedSession.parameters.result,
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=10.5",
|
||||
@@ -145,6 +154,22 @@
|
||||
"parameter_5399=44",
|
||||
].join("\n"),
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_tool_table",
|
||||
loadedSession.toolTable.result,
|
||||
[
|
||||
"tooldata_load=0",
|
||||
"tool_1.toolno=2",
|
||||
"tool_1.pocketno=7",
|
||||
"tool_1.z=3.125",
|
||||
"tool_1.diameter=1.5",
|
||||
"tool_1.frontangle=12",
|
||||
"tool_1.backangle=34",
|
||||
"tool_1.orientation=4",
|
||||
"tool_1.comment=browser finish tool",
|
||||
"tool_index_for_tool_2=1",
|
||||
].join("\n"),
|
||||
);
|
||||
const savedParameters = await saveMachineParametersToOpfs(
|
||||
interp,
|
||||
"browser-interp",
|
||||
@@ -180,6 +205,35 @@
|
||||
"absent=<_named_param>",
|
||||
].join("\n"),
|
||||
);
|
||||
const savedToolTable = await saveMachineToolTableToOpfs(
|
||||
interp,
|
||||
"browser-interp",
|
||||
{ wasmPath: "/work/browser-tool.tbl" },
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_save_tool_table",
|
||||
savedToolTable.result,
|
||||
[
|
||||
"tooldata_save=0",
|
||||
"tool_1.toolno=2",
|
||||
"tool_1.pocketno=7",
|
||||
].join("\n"),
|
||||
);
|
||||
const savedMachineFiles = await loadMachineTextFiles("browser-interp");
|
||||
verifyExpectedOutput(
|
||||
"opfs_saved_tool_table_text",
|
||||
savedMachineFiles.toolTable,
|
||||
[
|
||||
"T2",
|
||||
"P7",
|
||||
"Z+3.125000",
|
||||
"D+1.500000",
|
||||
"I+12.000000",
|
||||
"J+34.000000",
|
||||
"Q4",
|
||||
";browser finish tool",
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
status.textContent = "browser_interp_smoke=ok";
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user