#!/usr/bin/env bash # Switch / list Flexiv Studio tools via RDK (reads name from site.yaml). # # bash ~/ros2/scripts/rdk_switch_tool.sh # switch to robot.tool_name # bash ~/ros2/scripts/rdk_switch_tool.sh --list # print Studio tool pool # bash ~/ros2/scripts/rdk_switch_tool.sh --name Flange # # Stop run_real.sh first — RDK allows only one client. set -eo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" # shellcheck disable=SC1091 source "${ROOT}/scripts/lib/load_site_config.sh" RDK_PYTHON="${RDK_PYTHON:-/home/cc/rdk_py310/bin/python}" SN="${ROBOT_SN:-${SITE_ROBOT_SN:-Rizon4-063989}}" NAME="${SITE_ROBOT_TOOL_NAME:-}" IFACE="${SITE_NET_IFACE:-}" LIST=false while [[ $# -gt 0 ]]; do case "$1" in --list|-l) LIST=true; shift ;; --name) NAME="$2"; shift 2 ;; --sn) SN="$2"; shift 2 ;; --iface) IFACE="$2"; shift 2 ;; -h|--help) sed -n '2,12p' "$0"; exit 0 ;; *) echo "Unknown: $1" >&2; exit 1 ;; esac done ARGS=(--sn "${SN}") if [[ -n "${IFACE}" ]]; then ARGS+=(--iface "${IFACE}") fi if [[ "${LIST}" == true ]]; then ARGS+=(--list) elif [[ -n "${NAME}" ]]; then ARGS+=(--name "${NAME}") fi exec "${RDK_PYTHON}" "${ROOT}/scripts/rdk_switch_tool.py" "${ARGS[@]}"