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: