From dd166855d86bdcdeaf2f17e58399c9af428e6788 Mon Sep 17 00:00:00 2001 From: davidsastresas Date: Mon, 20 May 2024 10:53:57 +0200 Subject: [PATCH] GimbalController: start handshake only after parameters are donwloaded: Could interfere with parameter download on Herelink slower link --- src/Gimbal/GimbalController.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Gimbal/GimbalController.cc b/src/Gimbal/GimbalController.cc index 471bed3..f05e1cd 100644 --- a/src/Gimbal/GimbalController.cc +++ b/src/Gimbal/GimbalController.cc @@ -4,6 +4,7 @@ #include "Vehicle.h" #include "QGCApplication.h" #include "SettingsManager.h" +#include "ParameterManager.h" #include @@ -108,6 +109,11 @@ GimbalController::setActiveGimbal(Gimbal* gimbal) void GimbalController::_mavlinkMessageReceived(const mavlink_message_t& message) { + // Don't proceed until parameters are ready, otherwise the gimbal controller handshake + // could potentially not work due to the high traffic for parameters, mission download, etc + if (!_vehicle->parameterManager()->parametersReady() ) { + return; + } switch (message.msgid) { case MAVLINK_MSG_ID_HEARTBEAT: _handleHeartbeat(message);