按规划继续工作
结论:OPFS 参数文件已通过桥接进入 LinuxCNC-backed WASM restore/save 路径,native 与 host/WASM/browser 验证全部通过。
This commit is contained in:
@@ -8,6 +8,14 @@
|
||||
<pre id="status">running</pre>
|
||||
<script type="module">
|
||||
import { createLinuxCncInterpSdk } from "../../runtime/sdk/src/index.js";
|
||||
import {
|
||||
restoreMachineParametersFromOpfs,
|
||||
saveMachineParametersToOpfs,
|
||||
} from "../../runtime/opfs/linuxcnc-parameter-bridge.js";
|
||||
import {
|
||||
loadMachineTextFiles,
|
||||
saveMachineTextFiles,
|
||||
} from "../../runtime/opfs/machine-file-store.js";
|
||||
import {
|
||||
INTERP_BROWSER_FILE_FIXTURES,
|
||||
INTERP_BROWSER_MDI_FIXTURES,
|
||||
@@ -108,6 +116,71 @@
|
||||
(await fetchText(`../fixtures/canon/${INTERP_INI_FIXTURE}.events`)).trimEnd(),
|
||||
);
|
||||
|
||||
await saveMachineTextFiles("browser-interp", {
|
||||
ini: "[EMC]\nMACHINE = browser-interp\n",
|
||||
toolTable: "T0 P0 ; no tool\n",
|
||||
parameters: [
|
||||
"5161 10.5",
|
||||
"5162 20.25",
|
||||
"5220 1",
|
||||
"5221 2.25",
|
||||
"5399 44",
|
||||
"<_named_param> 123",
|
||||
"",
|
||||
].join("\n"),
|
||||
});
|
||||
const restoredParameters = await restoreMachineParametersFromOpfs(
|
||||
interp,
|
||||
"browser-interp",
|
||||
{ wasmPath: "/work/browser-linuxcnc.var" },
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_restore_parameters",
|
||||
restoredParameters.result,
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=10.5",
|
||||
"parameter_5162=20.25",
|
||||
"parameter_5221=2.25",
|
||||
"parameter_5399=44",
|
||||
].join("\n"),
|
||||
);
|
||||
const savedParameters = await saveMachineParametersToOpfs(
|
||||
interp,
|
||||
"browser-interp",
|
||||
{
|
||||
5161: 12.34,
|
||||
5162: 56.78,
|
||||
5220: 1.0,
|
||||
5221: 9.87,
|
||||
5399: 66.6,
|
||||
},
|
||||
{ wasmPath: "/work/browser-linuxcnc.var" },
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_save_parameters",
|
||||
savedParameters.result,
|
||||
[
|
||||
"save_parameters=0",
|
||||
"parameter_5161=12.34",
|
||||
"parameter_5162=56.78",
|
||||
"parameter_5221=9.87",
|
||||
"parameter_5399=66.6",
|
||||
].join("\n"),
|
||||
);
|
||||
const machineFiles = await loadMachineTextFiles("browser-interp");
|
||||
verifyExpectedOutput(
|
||||
"opfs_saved_parameter_text",
|
||||
machineFiles.parameters,
|
||||
[
|
||||
"5161\t12.340000",
|
||||
"5162\t56.780000",
|
||||
"5221\t9.870000",
|
||||
"5399\t66.600000",
|
||||
"absent=<_named_param>",
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
status.textContent = "browser_interp_smoke=ok";
|
||||
} catch (error) {
|
||||
status.textContent = `browser_interp_smoke=fail ${error.stack || error.message}`;
|
||||
|
||||
Reference in New Issue
Block a user