按规划继续工作
结论:补齐机器会话显式参数文件和刀具表文件名优先于 INI 派生值的 Node 与 Chromium 验证,保持该策略在 OPFS/SDK 主机边界内,并通过 host/WASM/browser 聚合验证。
This commit is contained in:
@@ -412,6 +412,82 @@
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
await saveMachineTextFiles("browser-ini-override-session", {
|
||||
ini: [
|
||||
"[EMC]",
|
||||
"MACHINE = browser-ini-override-session",
|
||||
"",
|
||||
"[RS274NGC]",
|
||||
"PARAMETER_FILE = browser-ignored.var",
|
||||
"",
|
||||
"[EMCIO]",
|
||||
"TOOL_TABLE = browser-ignored-tool.tbl",
|
||||
"",
|
||||
].join("\n"),
|
||||
});
|
||||
await saveTextFile(
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var",
|
||||
[
|
||||
"5161 41.25",
|
||||
"5162 82.5",
|
||||
"5220 1",
|
||||
"5221 6.5",
|
||||
"5399 101",
|
||||
"",
|
||||
].join("\n"),
|
||||
);
|
||||
await saveTextFile(
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit-tool.tbl",
|
||||
"T9 P9 Z5.5 D0.625 ;browser explicit tool\n",
|
||||
);
|
||||
const loadedIniOverrideSession = await loadMachineSessionFromOpfs(
|
||||
interp,
|
||||
"browser-ini-override-session",
|
||||
{
|
||||
iniSdk: ini,
|
||||
iniWasmPath: "/work/browser-ini-override-session.ini",
|
||||
parameterFilename: "browser-explicit.var",
|
||||
parameterWasmPath: "/work/browser-explicit.var",
|
||||
toolTableFilename: "browser-explicit-tool.tbl",
|
||||
toolTableWasmPath: "/work/browser-explicit-tool.tbl",
|
||||
},
|
||||
);
|
||||
if (
|
||||
loadedIniOverrideSession.parameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var"
|
||||
) {
|
||||
throw new Error(`unexpected explicit parameter path: ${loadedIniOverrideSession.parameters.opfsPath}`);
|
||||
}
|
||||
if (
|
||||
loadedIniOverrideSession.toolTable.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit-tool.tbl"
|
||||
) {
|
||||
throw new Error(`unexpected explicit tool path: ${loadedIniOverrideSession.toolTable.opfsPath}`);
|
||||
}
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_explicit_parameter_file",
|
||||
loadedIniOverrideSession.parameters.result,
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=41.25",
|
||||
"parameter_5162=82.5",
|
||||
"parameter_5221=6.5",
|
||||
"parameter_5399=101",
|
||||
].join("\n"),
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_explicit_tool_table",
|
||||
loadedIniOverrideSession.toolTable.result,
|
||||
[
|
||||
"tooldata_load=0",
|
||||
"tool_1.toolno=9",
|
||||
"tool_1.pocketno=9",
|
||||
"tool_1.z=5.5",
|
||||
"tool_1.diameter=0.625",
|
||||
"tool_1.comment=browser explicit tool",
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
await saveMachineTextFiles("browser-invalid-param-file-session", {
|
||||
ini: [
|
||||
"[EMC]",
|
||||
|
||||
Reference in New Issue
Block a user