From d8909b5d8aad989c973dd4f840b34f8ac98aea49 Mon Sep 17 00:00:00 2001 From: cnc Date: Mon, 1 Jun 2026 20:52:15 +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=85rosekins?= =?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 rose_engine 配置、NGC demo、halshow、README 和 rosekins manpage 源,并在轻量 manifest 校验中固定这些 source coverage;rose_engine.ini 引用的 rose.tbl 在 LinuxCNC 树中不存在,本轮不发明 tooldata;native/source-link 均复用增量构建,没有触发慢编译。 --- check-linuxcnc-inputs.sh | 26 ++++++++++++++++++++++++++ linuxcnc-kinematics-source-files.txt | 6 ++++++ test-native.sh | 10 +++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/check-linuxcnc-inputs.sh b/check-linuxcnc-inputs.sh index b30a7de..818648f 100755 --- a/check-linuxcnc-inputs.sh +++ b/check-linuxcnc-inputs.sh @@ -664,6 +664,32 @@ if [[ -n "$manifest" && "$require_complete" == "--require-kinematics-complete" ] exit 1 fi + required_rose_engine_asset_sources=( + configs/sim/axis/rose_engine/rose_engine.ini + configs/sim/axis/rose_engine/rose_engine.halshow + configs/sim/axis/rose_engine/rcone.ngc + configs/sim/axis/rose_engine/rcone_demo.ngc + configs/sim/axis/rose_engine/README + ) + missing_rose_engine_asset_sources=() + for source in "${required_rose_engine_asset_sources[@]}"; do + if ! printf '%s\n' "${manifest_asset_sources[@]}" | grep -Fx -- "$source" >/dev/null; then + missing_rose_engine_asset_sources+=("$source") + fi + done + if ((${#missing_rose_engine_asset_sources[@]} > 0)); then + echo "manifest does not cover LinuxCNC rose engine kinematics INI/NGC/demo sources as asset sources: $manifest" >&2 + printf 'missing rose engine kinematics asset source: %s\n' "${missing_rose_engine_asset_sources[@]}" >&2 + exit 1 + fi + + required_rosekins_metadata_source=docs/src/man/man9/rosekins.9.adoc + if ! printf '%s\n' "${manifest_metadata_sources[@]}" | grep -Fx -- "$required_rosekins_metadata_source" >/dev/null; then + echo "manifest does not cover LinuxCNC rosekins manpage source: $manifest" >&2 + printf 'missing rosekins metadata source: %s\n' "$required_rosekins_metadata_source" >&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 eb7df94..1362ab4 100644 --- a/linuxcnc-kinematics-source-files.txt +++ b/linuxcnc-kinematics-source-files.txt @@ -61,6 +61,11 @@ asset:configs/sim/axis/corexy/corexy.halshow:CoreXY halshow asset referenced by asset:configs/sim/axis/corexy/README:CoreXY configuration source notes adjacent to corexykins coverage asset:configs/sim/axis/corexy/corexy_by_kins.txt:CoreXY kinematics demo notes adjacent to corexy_by_kins INI asset:configs/sim/axis/corexy/corexy_by_hal.txt:CoreXY HAL-component demo notes adjacent to corexy_by_hal INI +asset:configs/sim/axis/rose_engine/rose_engine.ini:rose engine KINEMATICS source for LinuxCNC rosekins coverage +asset:configs/sim/axis/rose_engine/rose_engine.halshow:rose engine halshow asset referencing rosekins HAL pins +asset:configs/sim/axis/rose_engine/rcone.ngc:rose engine NGCGUI subroutine source referenced by rose_engine INI +asset:configs/sim/axis/rose_engine/rcone_demo.ngc:rose engine OPEN_FILE demo source referenced by rose_engine INI +asset:configs/sim/axis/rose_engine/README:rose engine configuration source notes adjacent to rosekins coverage 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 @@ -235,6 +240,7 @@ metadata:docs/src/man/man1/xyzac-trt-gui.1.adoc:LinuxCNC XYZAC TRT vismach GUI c metadata:docs/src/man/man1/xyzbc-trt-gui.1.adoc:LinuxCNC XYZBC TRT vismach GUI command documentation source metadata:src/objects/hal/components/corexy_by_hal.mak:halcompile-generated CoreXY component make metadata metadata:src/objects/man/man9/corexy_by_hal.9.adoc:halcompile-generated CoreXY component manpage source +metadata:docs/src/man/man9/rosekins.9.adoc:LinuxCNC rosekins manpage source referenced by rose engine README metadata:src/objects/hal/components/matrixkins.mak:halcompile-generated matrixkins make metadata adjacent to generated kinematics source metadata:src/objects/hal/components/millturn.mak:halcompile-generated millturn make metadata adjacent to generated kinematics source metadata:src/objects/hal/components/userkins.mak:halcompile-generated userkins make metadata adjacent to generated kinematics source diff --git a/test-native.sh b/test-native.sh index 85fdcea..92d4f22 100755 --- a/test-native.sh +++ b/test-native.sh @@ -206,6 +206,14 @@ grep -F 'manifest does not cover LinuxCNC CoreXY kinematics INI/HAL/demo sources grep -F 'manifest does not cover LinuxCNC CoreXY HAL component source' check-linuxcnc-inputs.sh >/dev/null grep -F 'manifest does not cover LinuxCNC generated CoreXY HAL component source' check-linuxcnc-inputs.sh >/dev/null grep -F 'manifest does not cover LinuxCNC CoreXY HAL component metadata sources' check-linuxcnc-inputs.sh >/dev/null +grep -Fx "configs/sim/axis/rose_engine/rose_engine.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/rose_engine/rose_engine.halshow" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/rose_engine/rcone.ngc" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/rose_engine/rcone_demo.ngc" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/rose_engine/README" "$kinematics_manifest_sources" >/dev/null +grep -Fx "docs/src/man/man9/rosekins.9.adoc" "$kinematics_manifest_sources" >/dev/null +grep -F 'manifest does not cover LinuxCNC rose engine kinematics INI/NGC/demo sources as asset sources' check-linuxcnc-inputs.sh >/dev/null +grep -F 'manifest does not cover LinuxCNC rosekins manpage source' 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 @@ -296,7 +304,7 @@ grep -Fx "configs/sim/axis/vismach/melfa-sim/README" "$kinematics_manifest_sourc grep -Fx "configs/sim/axis/vismach/millturn/README" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/vismach/puma/README" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/vismach/scara/README" "$kinematics_manifest_sources" >/dev/null -if [[ "$(grep -Ec '/README$' "$kinematics_manifest_sources")" -ne 11 ]]; then +if [[ "$(grep -Ec '/README$' "$kinematics_manifest_sources")" -ne 12 ]]; then echo "expected kinematics manifest to cover all tracked LinuxCNC README sources adjacent to kinematics INI files" >&2 exit 1 fi