From 5ab076368dceccb4b351ccd71bcd0f30b6c3eb07 Mon Sep 17 00:00:00 2001 From: Nffj84 Date: Mon, 24 Mar 2025 18:24:11 +0200 Subject: [PATCH] Prevent GimbalServer from being set available Added check to not allow GimbalServer to become available after setting allow camera commands to false. --- ai_controller/aienginegimbalserver.cpp | 5 ++++- ai_controller/aienginegimbalserveractions.cpp | 6 ++++++ ai_controller/aienginegimbalserveractions.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ai_controller/aienginegimbalserver.cpp b/ai_controller/aienginegimbalserver.cpp index 6760770..11b87c4 100644 --- a/ai_controller/aienginegimbalserver.cpp +++ b/ai_controller/aienginegimbalserver.cpp @@ -92,7 +92,10 @@ void AiEngineGimbalServer::zoomToAiTargetSlot(AiEngineCameraTarget target) // Allow calls int delay4 = delay3 + 3000; // Adjust this value as needed QTimer::singleShot(delay4, this, [this]() { - mIsAvailable = true; + // Only make camera available for commands if it is allowed + if (mActions.getAllowCameraCommands() == true) { + mIsAvailable = true; + } qDebug() << "Is available: " << mIsAvailable; }); } diff --git a/ai_controller/aienginegimbalserveractions.cpp b/ai_controller/aienginegimbalserveractions.cpp index 5d814f8..bf9b63a 100644 --- a/ai_controller/aienginegimbalserveractions.cpp +++ b/ai_controller/aienginegimbalserveractions.cpp @@ -372,6 +372,12 @@ void AiEngineGimbalServerActions::goToInitialOrientation(void) } +bool AiEngineGimbalServerActions::getAllowCameraCommands(void) +{ + return mAllowCameraCommands; +} + + void AiEngineGimbalServerActions::setAllowCameraCommands(bool allow) { mAllowCameraCommands = allow; diff --git a/ai_controller/aienginegimbalserveractions.h b/ai_controller/aienginegimbalserveractions.h index 377d5e0..c3c3b70 100644 --- a/ai_controller/aienginegimbalserveractions.h +++ b/ai_controller/aienginegimbalserveractions.h @@ -50,6 +50,7 @@ public slots: void getLocation(AiEngineDronePosition dronePosition, int targetIndex); void restoreOrientationAndZoom(AiEngineGimbalStatus gimbalStatus); void goToInitialOrientation(void); + bool getAllowCameraCommands(void); void setAllowCameraCommands(bool allow); signals: