虚拟HAL完全满足Web数控仿真

结论:motion controller matrix 已显式关联 external-offsets、QtDragon multi-joint、vismach remap sims 的 LinuxCNC configs/sim source evidence,并纳入 SDK、browser diagnostics artifact 与 release validation;虚拟 HAL 仍只作为 Web 仿真替代层,不声明 Linux kernel hard-realtime ABI、外部硬件驱动 ABI 或 native HAL module ABI。
This commit is contained in:
2026-06-17 23:00:25 +08:00
parent 71c60d0ea9
commit 7449ff7f4e
6 changed files with 137 additions and 3 deletions

View File

@@ -121,7 +121,13 @@ export function createProjectReleaseBrowserDiagnosticsArtifactValidation(artifac
arrayOrEmpty(motionControllerMatrix.requiredPins).includes("motion.distance-to-go") &&
arrayOrEmpty(motionControllerMatrix.requiredPins).includes("motion.in-position") &&
arrayOrEmpty(motionControllerMatrix.sourceFiles).includes("linuxcnc/src/emc/motion/motion.c") &&
arrayOrEmpty(motionControllerMatrix.sourceFiles).includes("linuxcnc/src/emc/motion/axis.c");
arrayOrEmpty(motionControllerMatrix.sourceFiles).includes("linuxcnc/src/emc/motion/axis.c") &&
arrayOrEmpty(motionControllerMatrix.simConfigTargets).includes("external-offsets") &&
arrayOrEmpty(motionControllerMatrix.simConfigTargets).includes("qtdragon-on-abort") &&
arrayOrEmpty(motionControllerMatrix.simConfigTargets).includes("vismach-remap-sims") &&
arrayOrEmpty(motionControllerMatrix.simConfigSourceFiles).includes("linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini") &&
arrayOrEmpty(motionControllerMatrix.simConfigSourceFiles).includes("linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini") &&
arrayOrEmpty(motionControllerMatrix.simConfigSourceFiles).includes("linuxcnc/configs/sim/axis/vismach/puma/puma.ini");
const replacementReady = replacement.ready === true &&
replacement.replacesHostRuntimeForSimulation === true &&
objectOrEmpty(replacement.sourceCompliance).webSimulationSatisfied === true &&
@@ -154,6 +160,7 @@ export function createProjectReleaseBrowserDiagnosticsArtifactValidation(artifac
...arrayOrEmpty(simConfigSourceCoverage.sourceFiles),
...arrayOrEmpty(commandScriptFixtures.sourceFiles),
...arrayOrEmpty(motionControllerMatrix.sourceFiles),
...arrayOrEmpty(motionControllerMatrix.simConfigSourceFiles),
])],
rows: [
{