按规划持续工作

结论:已将 vendored LinuxCNC bridge-mill 5axisgui.ngc 纳入五轴 remap/tool-table/file 执行 baseline,native、Node WASM 和 browser 均通过同源验证;bridgemill 按 LinuxCNC REMAP 方向验证,未实现自有 M 码或运动学语义。
This commit is contained in:
2026-06-08 18:55:18 +08:00
parent 1a584786fc
commit bf07b78b4f
6 changed files with 165 additions and 17 deletions

View File

@@ -27,6 +27,9 @@ struct MachineCase {
const char *ini_rel;
int expected_remaps;
bool has_m430;
double m428_switchkins;
double m429_switchkins;
double m430_switchkins;
};
struct DemoCase {
@@ -281,12 +284,12 @@ bool check_machine(const MachineCase &machine)
bool ok = parse_machine_remaps(interp, machine);
ok &= read_hal_named(interp, machine.label, "_hal[motion.switchkins-type]", 0.0);
ok &= execute_step(interp, machine.label, "M429\n", 0.0);
ok &= execute_step(interp, machine.label, "M428\n", 1.0);
ok &= execute_step(interp, machine.label, "M429\n", machine.m429_switchkins);
ok &= execute_step(interp, machine.label, "M428\n", machine.m428_switchkins);
if (machine.has_m430) {
ok &= execute_step(interp, machine.label, "M430\n", 2.0);
ok &= execute_step(interp, machine.label, "M430\n", machine.m430_switchkins);
}
ok &= execute_step(interp, machine.label, "M429\n", 0.0);
ok &= execute_step(interp, machine.label, "M429\n", machine.m429_switchkins);
print_bool(std::string(machine.label) + "_linuxcnc_remap_execute_path", ok);
return ok;
@@ -302,18 +305,36 @@ int main()
"configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
3,
true,
1.0,
0.0,
2.0,
},
{
"xyzbc_trt",
"configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
3,
true,
1.0,
0.0,
2.0,
},
{
"xyzab_tdr",
"configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini",
2,
false,
1.0,
0.0,
0.0,
},
{
"bridgemill",
"configs/sim/axis/vismach/5axis/bridgemill/5axis.ini",
3,
true,
0.0,
1.0,
2.0,
},
};
@@ -371,6 +392,11 @@ int main()
"xyzab-tdr-demo.ngc",
1.0,
},
{
"bridgemill_5axisgui",
"configs/sim/axis/vismach/5axis/bridgemill/5axisgui.ngc",
0.0,
},
};
ok &= execute_demo_file(cases[0], demos[0]);
@@ -381,6 +407,7 @@ int main()
ok &= execute_demo_file(cases[1], demos[5]);
ok &= execute_demo_file(cases[0], demos[6]);
ok &= execute_demo_file(cases[2], demos[7]);
ok &= execute_demo_file(cases[3], demos[8]);
print_bool("fiveaxis_linuxcnc_remap_execute_path", ok);
return ok ? 0 : 1;