From f6e1f13bb5fef70f4dedf4d995c907b86d02fa74 Mon Sep 17 00:00:00 2001 From: Kevin D Date: Sun, 1 Feb 2026 11:34:35 -0800 Subject: [PATCH] removed potentially faulty environment detection in favor of explicit setting --- aerpaw/client/uav_runner.py | 29 +++++++-------- aerpaw/run_uav.sh | 35 +++++++------------ .../gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml | 6 ++++ .../gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml | 2 ++ .../0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml | 6 ++++ .../0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml | 2 ++ .../8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml} | 0 .../8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml | 2 ++ .../GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml | 2 ++ .../GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml | 2 ++ .../o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml | 2 ++ .../o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml | 2 ++ .../OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml | 2 ++ .../OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml | 2 ++ .../NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml | 2 ++ .../NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml | 2 ++ .../LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml | 2 -- .../cI5_6UThNoj4X6TsI4A5hBM9jVod.xml | 2 ++ .../cI5_6UThNoj4X6TsI4A5hBM9jVop.xml | 2 ++ 19 files changed, 64 insertions(+), 40 deletions(-) create mode 100644 resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml create mode 100644 resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml rename resources/project/{vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml => Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml} (100%) create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml create mode 100644 resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml create mode 100644 resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml create mode 100644 resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml create mode 100644 resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml create mode 100644 resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml delete mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml create mode 100644 resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml diff --git a/aerpaw/client/uav_runner.py b/aerpaw/client/uav_runner.py index f6a9918..d29ea05 100644 --- a/aerpaw/client/uav_runner.py +++ b/aerpaw/client/uav_runner.py @@ -41,22 +41,19 @@ def load_config(): return yaml.safe_load(f) -def detect_environment(): - """Detect whether we're on the AERPAW testbed or running locally.""" - # Check for AERPAW_ENV environment variable first +def get_environment(): + """Get environment from AERPAW_ENV variable. Fails if not set.""" env = os.environ.get('AERPAW_ENV') - if env in ('local', 'testbed'): - return env - - # Auto-detect based on network (testbed uses 192.168.122.x) - import subprocess - try: - result = subprocess.run(['ip', 'addr'], capture_output=True, text=True, timeout=5) - if '192.168.122' in result.stdout: - return 'testbed' - except Exception: - pass - return 'local' + if env is None: + raise RuntimeError( + "AERPAW_ENV environment variable not set. " + "Set to 'local' or 'testbed', or use: ./run_uav.sh [local|testbed]" + ) + if env not in ('local', 'testbed'): + raise RuntimeError( + f"Invalid AERPAW_ENV '{env}'. Must be 'local' or 'testbed'." + ) + return env def parse_target(message: str): @@ -74,7 +71,7 @@ class UAVRunner(BasicRunner): def initialize_args(self, extra_args): """Load configuration from YAML config file.""" config = load_config() - env = detect_environment() + env = get_environment() print(f"[UAV] Environment: {env}") # Load origin diff --git a/aerpaw/run_uav.sh b/aerpaw/run_uav.sh index e263bda..c501282 100755 --- a/aerpaw/run_uav.sh +++ b/aerpaw/run_uav.sh @@ -1,11 +1,10 @@ #!/bin/bash -# run_uav.sh - Auto-detecting wrapper for UAV runner -# Detects testbed vs local environment and launches with appropriate connection +# run_uav.sh - Wrapper for UAV runner +# Launches UAV client with environment-specific configuration # # Usage: -# ./run_uav.sh # Auto-detect and run -# ./run_uav.sh testbed # Force testbed mode -# ./run_uav.sh local # Force local mode +# ./run_uav.sh local # Use local/simulation configuration +# ./run_uav.sh testbed # Use AERPAW testbed configuration set -e @@ -17,30 +16,22 @@ if [ -d "venv" ]; then source venv/bin/activate fi -# Function to check if we're in testbed environment -check_testbed() { - ip addr | grep -q "192.168.122" - return $? -} - -# Determine environment based on argument or auto-detection +# Determine environment from argument (required) if [ "$1" = "testbed" ]; then ENV="testbed" - echo "[run_uav] Forced testbed mode" elif [ "$1" = "local" ]; then ENV="local" - echo "[run_uav] Forced local mode" else - echo "[run_uav] Auto-detecting environment..." - if check_testbed; then - ENV="testbed" - echo "[run_uav] Testbed detected" - else - ENV="local" - echo "[run_uav] Local mode" - fi + echo "Error: Environment not specified." + echo "Usage: $0 [local|testbed]" + echo "" + echo " local - Use local/simulation configuration" + echo " testbed - Use AERPAW testbed configuration" + exit 1 fi +echo "[run_uav] Environment: $ENV" + # Export environment for Python to use export AERPAW_ENV="$ENV" diff --git a/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml new file mode 100644 index 0000000..1511dda --- /dev/null +++ b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml new file mode 100644 index 0000000..ce91a3d --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml similarity index 100% rename from resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml new file mode 100644 index 0000000..70ece17 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml new file mode 100644 index 0000000..69ac313 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml new file mode 100644 index 0000000..0862a04 --- /dev/null +++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml new file mode 100644 index 0000000..9399bba --- /dev/null +++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml new file mode 100644 index 0000000..d586f30 --- /dev/null +++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml deleted file mode 100644 index 03568fb..0000000 --- a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml new file mode 100644 index 0000000..7db0f9e --- /dev/null +++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file