From c474d45cdc048735414e06919c1a64e0d137eedb Mon Sep 17 00:00:00 2001 From: cnc Date: Mon, 1 Jun 2026 23:20:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC2=E7=BB=84=EF=BC=9A=E8=A1=A5=E5=85=85A?= =?UTF-8?q?XIS=20XYZB=E9=94=81=E5=AE=9A=E5=88=86=E5=BA=A6=E6=BA=90?= =?UTF-8?q?=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- check-linuxcnc-inputs.sh | 19 +++++++++++++++++++ linuxcnc-kinematics-source-files.txt | 5 +++++ test-native.sh | 11 ++++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/check-linuxcnc-inputs.sh b/check-linuxcnc-inputs.sh index 52c7dcb..bf604a2 100755 --- a/check-linuxcnc-inputs.sh +++ b/check-linuxcnc-inputs.sh @@ -753,6 +753,25 @@ if [[ -n "$manifest" && "$require_complete" == "--require-kinematics-complete" ] exit 1 fi + required_axis_ja_xyzb_locking_indexer_asset_sources=( + configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini + configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini + configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.hal + configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.halshow + configs/sim/axis/ja_tests/xyzb_locking_indexer/README + ) + missing_axis_ja_xyzb_locking_indexer_asset_sources=() + for source in "${required_axis_ja_xyzb_locking_indexer_asset_sources[@]}"; do + if ! printf '%s\n' "${manifest_asset_sources[@]}" | grep -Fx -- "$source" >/dev/null; then + missing_axis_ja_xyzb_locking_indexer_asset_sources+=("$source") + fi + done + if ((${#missing_axis_ja_xyzb_locking_indexer_asset_sources[@]} > 0)); then + echo "manifest does not cover LinuxCNC AXIS joint-axis trivkins XYZB locking indexer INI/HAL/demo sources as asset sources: $manifest" >&2 + printf 'missing AXIS joint-axis XYZB locking indexer asset source: %s\n' "${missing_axis_ja_xyzb_locking_indexer_asset_sources[@]}" >&2 + exit 1 + fi + required_scorbot_asset_sources=( configs/by_machine/scorbot-er-3/scorbot-er-3.ini configs/by_machine/scorbot-er-3/scorbot-er-3.hal diff --git a/linuxcnc-kinematics-source-files.txt b/linuxcnc-kinematics-source-files.txt index 2caf239..2eeff48 100644 --- a/linuxcnc-kinematics-source-files.txt +++ b/linuxcnc-kinematics-source-files.txt @@ -80,6 +80,11 @@ asset:configs/sim/axis/ja_tests/xz/xz_both_auto.ini:AXIS joint-axis trivkins XZ asset:configs/sim/axis/ja_tests/xz/xzbase.inc:AXIS joint-axis trivkins XZ shared INI include asset:configs/sim/axis/ja_tests/xz/xz.tbl:AXIS joint-axis trivkins XZ tool table source referenced by shared include asset:configs/sim/axis/ja_tests/xz/README:AXIS joint-axis trivkins example notes adjacent to XZ coverage +asset:configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini:AXIS joint-axis trivkins omitted A-axis locking indexer source +asset:configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini:AXIS joint-axis trivkins duplicated Y-axis KINEMATICS_BOTH locking indexer source +asset:configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.hal:AXIS joint-axis trivkins XYZB wheel jog HAL source adjacent to locking indexer coverage +asset:configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.halshow:AXIS joint-axis trivkins locking indexer halshow watchlist source +asset:configs/sim/axis/ja_tests/xyzb_locking_indexer/README:AXIS joint-axis trivkins locking indexer notes adjacent to XYZB coverage asset:configs/by_machine/scorbot-er-3/scorbot-er-3.ini:Scorbot ER-3 KINEMATICS source for LinuxCNC scorbot-kins coverage asset:configs/by_machine/scorbot-er-3/scorbot-er-3.hal:Scorbot ER-3 HALFILE source loading scorbot-kins and user component asset:configs/by_machine/scorbot-er-3/pyvcp.hal:Scorbot ER-3 POSTGUI_HALFILE source wiring gripper PYVCP output diff --git a/test-native.sh b/test-native.sh index 73ea8dc..54dfefd 100755 --- a/test-native.sh +++ b/test-native.sh @@ -238,6 +238,15 @@ grep -Fx "KINEMATICS = trivkins coordinates=xz" "../linuxcnc/configs/sim/axis/ja grep -Fx "KINEMATICS = trivkins coordinates=xz kinstype=BOTH" "../linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini" >/dev/null grep -Fx "MACHINE = trivkins XZ KINEMATICS_BOTH,AUTO TELEOP" "../linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini" >/dev/null grep -F 'manifest does not cover LinuxCNC AXIS joint-axis trivkins XZ INI/include/tool/demo sources as asset sources' check-linuxcnc-inputs.sh >/dev/null +grep -Fx "configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.hal" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.halshow" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/axis/ja_tests/xyzb_locking_indexer/README" "$kinematics_manifest_sources" >/dev/null +grep -Fx "KINEMATICS = trivkins coordinates=xyzb" "../linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini" >/dev/null +grep -Fx "KINEMATICS = trivkins coordinates=xyyzb kinstype=both" "../linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini" >/dev/null +grep -Fx "MACHINE = XYYZB trivkins coordinates=xyyzb KINEMATICS_BOTH" "../linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini" >/dev/null +grep -F 'manifest does not cover LinuxCNC AXIS joint-axis trivkins XYZB locking indexer INI/HAL/demo sources as asset sources' check-linuxcnc-inputs.sh >/dev/null grep -Fx "configs/by_machine/scorbot-er-3/scorbot-er-3.ini" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/by_machine/scorbot-er-3/scorbot-er-3.hal" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/by_machine/scorbot-er-3/pyvcp.hal" "$kinematics_manifest_sources" >/dev/null @@ -351,7 +360,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 16 ]]; then +if [[ "$(grep -Ec '/README$' "$kinematics_manifest_sources")" -ne 17 ]]; then echo "expected kinematics manifest to cover all tracked LinuxCNC README sources adjacent to kinematics INI files" >&2 exit 1 fi