From d7cac10c3b60b31b4c0f7e341f013a1d7947700a Mon Sep 17 00:00:00 2001 From: cnc Date: Mon, 1 Jun 2026 20:37:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E8=BD=AE=E5=8F=AA=E6=8E=A8=E8=BF=9B?= =?UTF-8?q?=E5=90=88=E7=90=86=E9=80=82=E9=87=8F=E7=9A=84=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E3=80=81=E7=A6=81=E6=AD=A2=E9=A1=BA=E6=89=8B=E6=89=A9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20smoke=EF=BC=9A=E8=A1=A5=E5=85=85delta?= =?UTF-8?q?=E8=BF=90=E5=8A=A8=E5=AD=A6=E6=BA=90=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:第2组 kinematics manifest 补充 LinuxCNC ldelta/rdelta 配置、hallib HAL 和 demo notes,并在轻量 manifest 校验中固定这些 source coverage;native/source-link 均复用增量构建,没有触发慢编译。 --- check-linuxcnc-inputs.sh | 21 +++++++++++++++++++++ linuxcnc-kinematics-source-files.txt | 7 +++++++ test-native.sh | 8 ++++++++ 3 files changed, 36 insertions(+) diff --git a/check-linuxcnc-inputs.sh b/check-linuxcnc-inputs.sh index 6443bbd..2102773 100755 --- a/check-linuxcnc-inputs.sh +++ b/check-linuxcnc-inputs.sh @@ -590,6 +590,27 @@ if [[ -n "$manifest" && "$require_complete" == "--require-kinematics-complete" ] ' "$manifest" | sort -u ) + required_delta_asset_sources=( + configs/sim/axis/ldelta.ini + configs/sim/axis/ldelta_demo.ini + configs/sim/axis/ldelta_demo.txt + configs/sim/axis/ldelta_demo_es.txt + configs/sim/axis/rdelta.ini + lib/hallib/sim_ldelta.hal + lib/hallib/sim_rdelta.hal + ) + missing_delta_asset_sources=() + for source in "${required_delta_asset_sources[@]}"; do + if ! printf '%s\n' "${manifest_asset_sources[@]}" | grep -Fx -- "$source" >/dev/null; then + missing_delta_asset_sources+=("$source") + fi + done + if ((${#missing_delta_asset_sources[@]} > 0)); then + echo "manifest does not cover LinuxCNC delta kinematics INI/HAL demo sources as asset sources: $manifest" >&2 + printf 'missing delta kinematics asset source: %s\n' "${missing_delta_asset_sources[@]}" >&2 + exit 1 + fi + resolve_vismach_loadusr_source() { local command_name=$1 case "$command_name" in diff --git a/linuxcnc-kinematics-source-files.txt b/linuxcnc-kinematics-source-files.txt index 4bfceeb..81212f4 100644 --- a/linuxcnc-kinematics-source-files.txt +++ b/linuxcnc-kinematics-source-files.txt @@ -45,6 +45,13 @@ asset:configs/sim/axis/vismach/5axis/max5/max5triv.hal:MAX5 trivkins HALFILE sou asset:configs/sim/axis/pentapod/pentapod.ini:pentapod KINEMATICS source for LinuxCNC pentakins coverage asset:configs/sim/axis/pentapod/kinematics.hal:pentapod HAL parameter source for LinuxCNC pentakins base and effector pins asset:configs/sim/axis/pentapod/panel.xml:pentapod PYVCP asset referenced by pentapod INI +asset:configs/sim/axis/ldelta.ini:linear delta KINEMATICS source for LinuxCNC lineardeltakins coverage +asset:configs/sim/axis/ldelta_demo.ini:linear delta demo KINEMATICS and HALCMD source for LinuxCNC lineardeltakins coverage +asset:configs/sim/axis/ldelta_demo.txt:linear delta demo notes adjacent to ldelta_demo INI coverage +asset:configs/sim/axis/ldelta_demo_es.txt:linear delta Spanish demo notes adjacent to ldelta_demo INI coverage +asset:configs/sim/axis/rdelta.ini:rotary delta KINEMATICS source for LinuxCNC rotarydeltakins coverage +asset:lib/hallib/sim_ldelta.hal:linear delta HALFILE source wiring lineardeltakins L and R pins +asset:lib/hallib/sim_rdelta.hal:rotary delta HALFILE source wiring rotarydeltakins geometry pins config:configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini:XYZAB table dual rotary MACHINE/KINEMATICS and M428/M429 remap configuration source config:configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr-postgui.hal:XYZAB table dual rotary POSTGUI_HALFILE source referenced by M428/M429 switchkins config config:configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini:XYZAC TRT switchkins HAL parameter source used by M428 coverage diff --git a/test-native.sh b/test-native.sh index 617aa00..4864df8 100755 --- a/test-native.sh +++ b/test-native.sh @@ -181,6 +181,14 @@ for path in sorted(Path("web").glob("test-browser-wasm-smoke-*-sections.js")): PY kinematics_manifest_sources="$build_dir/linuxcnc_kinematics_manifest_sources.txt" ./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt all > "$kinematics_manifest_sources" +grep -Fx "configs/sim/axis/ldelta.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ldelta_demo.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ldelta_demo.txt" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ldelta_demo_es.txt" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/rdelta.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "lib/hallib/sim_ldelta.hal" "$kinematics_manifest_sources" >/dev/null +grep -Fx "lib/hallib/sim_rdelta.hal" "$kinematics_manifest_sources" >/dev/null +grep -F 'manifest does not cover LinuxCNC delta kinematics INI/HAL demo sources as asset sources' check-linuxcnc-inputs.sh >/dev/null grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/vismach/5axis/bridgemill/5axis.ini" "$kinematics_manifest_sources" >/dev/null