diff --git a/check-linuxcnc-inputs.sh b/check-linuxcnc-inputs.sh index 744734d..3f8be3f 100755 --- a/check-linuxcnc-inputs.sh +++ b/check-linuxcnc-inputs.sh @@ -714,6 +714,25 @@ if [[ -n "$manifest" && "$require_complete" == "--require-kinematics-complete" ] exit 1 fi + required_tklinuxcnc_trivkins_asset_sources=( + configs/sim/tklinuxcnc/trivkins/xz.ini + configs/sim/tklinuxcnc/trivkins/xz_both.ini + configs/sim/tklinuxcnc/trivkins/xzbase.inc + configs/sim/tklinuxcnc/trivkins/xz.tbl + configs/sim/tklinuxcnc/trivkins/README + ) + missing_tklinuxcnc_trivkins_asset_sources=() + for source in "${required_tklinuxcnc_trivkins_asset_sources[@]}"; do + if ! printf '%s\n' "${manifest_asset_sources[@]}" | grep -Fx -- "$source" >/dev/null; then + missing_tklinuxcnc_trivkins_asset_sources+=("$source") + fi + done + if ((${#missing_tklinuxcnc_trivkins_asset_sources[@]} > 0)); then + echo "manifest does not cover LinuxCNC TkLinuxCNC trivkins XZ INI/include/tool/demo sources as asset sources: $manifest" >&2 + printf 'missing TkLinuxCNC trivkins asset source: %s\n' "${missing_tklinuxcnc_trivkins_asset_sources[@]}" >&2 + exit 1 + fi + required_gantry_asset_sources=( configs/sim/axis/gantry/gantry_mm.ini configs/sim/axis/gantry/gantry_mm.hal diff --git a/linuxcnc-kinematics-source-files.txt b/linuxcnc-kinematics-source-files.txt index 7c4a540..f37314f 100644 --- a/linuxcnc-kinematics-source-files.txt +++ b/linuxcnc-kinematics-source-files.txt @@ -69,6 +69,11 @@ asset:configs/sim/axis/rose_engine/README:rose engine configuration source notes asset:configs/sim/tklinuxcnc/tripod.ini:TkLinuxCNC tripod KINEMATICS source for LinuxCNC tripodkins coverage asset:lib/hallib/tripodsim.hal:tripod HALFILE source wiring tripodkins geometry pins asset:configs/sim/tklinuxcnc/README:TkLinuxCNC configuration notes referencing tripod.ini +asset:configs/sim/tklinuxcnc/trivkins/xz.ini:TkLinuxCNC trivkins XZ KINEMATICS_IDENTITY source +asset:configs/sim/tklinuxcnc/trivkins/xz_both.ini:TkLinuxCNC trivkins XZ KINEMATICS_BOTH source +asset:configs/sim/tklinuxcnc/trivkins/xzbase.inc:TkLinuxCNC trivkins XZ shared INI include +asset:configs/sim/tklinuxcnc/trivkins/xz.tbl:TkLinuxCNC trivkins XZ tool table source referenced by shared include +asset:configs/sim/tklinuxcnc/trivkins/README:TkLinuxCNC trivkins example notes adjacent to XZ coverage asset:configs/sim/axis/gantry/gantry_mm.ini:AXIS gantry metric KINEMATICS source using LinuxCNC trivkins BOTH coverage asset:configs/sim/axis/gantry/gantry_mm.hal:AXIS gantry metric HALFILE source wiring four gantry joints asset:configs/sim/axis/gantry/gantry_mm.tbl:AXIS gantry metric tool table source referenced by gantry_mm INI diff --git a/test-native.sh b/test-native.sh index a2953a5..9d2b89a 100755 --- a/test-native.sh +++ b/test-native.sh @@ -220,6 +220,14 @@ grep -Fx "configs/sim/tklinuxcnc/README" "$kinematics_manifest_sources" >/dev/nu grep -Fx "docs/man/man9/tripodkins.9" "$kinematics_manifest_sources" >/dev/null grep -F 'manifest does not cover LinuxCNC tripod kinematics INI/HAL sources as asset sources' check-linuxcnc-inputs.sh >/dev/null grep -F 'manifest does not cover LinuxCNC tripodkins manpage source' check-linuxcnc-inputs.sh >/dev/null +grep -Fx "configs/sim/tklinuxcnc/trivkins/xz.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/tklinuxcnc/trivkins/xz_both.ini" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/tklinuxcnc/trivkins/xzbase.inc" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/tklinuxcnc/trivkins/xz.tbl" "$kinematics_manifest_sources" >/dev/null +grep -Fx "configs/sim/tklinuxcnc/trivkins/README" "$kinematics_manifest_sources" >/dev/null +grep -Fx "KINEMATICS = trivkins coordinates=xz" "../linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.ini" >/dev/null +grep -Fx "KINEMATICS = trivkins coordinates=xz kinstype=BOTH" "../linuxcnc/configs/sim/tklinuxcnc/trivkins/xz_both.ini" >/dev/null +grep -F 'manifest does not cover LinuxCNC TkLinuxCNC trivkins XZ INI/include/tool/demo sources as asset sources' check-linuxcnc-inputs.sh >/dev/null grep -Fx "configs/sim/axis/gantry/gantry_mm.ini" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/gantry/gantry_mm.hal" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/gantry/gantry_mm.tbl" "$kinematics_manifest_sources" >/dev/null @@ -310,7 +318,7 @@ grep -Fx "configs/sim/axis/vismach/melfa-sim/melfa.tbl" "$kinematics_manifest_so grep -Fx "configs/sim/axis/vismach/millturn/millturn.tbl" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/axis/vismach/puma/puma.tbl" "$kinematics_manifest_sources" >/dev/null grep -Fx "configs/sim/qtaxis/non-trivial/scara/scara.tbl" "$kinematics_manifest_sources" >/dev/null -if [[ "$(grep -Ec '\.tbl$' "$kinematics_manifest_sources")" -ne 11 ]]; then +if [[ "$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt tooldata | grep -Ec '\.tbl$')" -ne 10 ]]; then echo "expected kinematics manifest to cover all resolvable LinuxCNC TOOL_TABLE switchkins sources" >&2 exit 1 fi @@ -322,7 +330,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 14 ]]; then +if [[ "$(grep -Ec '/README$' "$kinematics_manifest_sources")" -ne 15 ]]; then echo "expected kinematics manifest to cover all tracked LinuxCNC README sources adjacent to kinematics INI files" >&2 exit 1 fi