diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index bdcbe1f6b9a097c6d9385a733f7a7dfd6417ff8e..f13cfd00252645e02d5cc0105bc3018d31fe70c6 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -131,12 +131,6 @@ UAS::UAS(MAVLinkProtocol* protocol, Vehicle* vehicle, FirmwarePluginManager * fi _firmwarePluginManager(firmwarePluginManager) { - for (unsigned int i = 0; i<255;++i) - { - componentID[i] = -1; - componentMulti[i] = false; - } - #ifndef __mobile__ connect(_vehicle, &Vehicle::mavlinkMessageReceived, &fileManager, &FileManager::receiveMessage); color = UASInterface::getNextColor(); @@ -210,10 +204,11 @@ void UAS::receiveMessage(mavlink_message_t message) } // Store component ID - if (componentID[message.msgid] == -1) + if (!componentID.contains(message.msgid)) { // Prefer the first component componentID[message.msgid] = message.compid; + componentMulti[message.msgid] = false; } else { @@ -225,7 +220,9 @@ void UAS::receiveMessage(mavlink_message_t message) } } - if (componentMulti[message.msgid] == true) multiComponentSourceDetected = true; + if (componentMulti[message.msgid] == true) { + multiComponentSourceDetected = true; + } switch (message.msgid) diff --git a/src/uas/UAS.h b/src/uas/UAS.h index 06ec98a62a2689651d076b96c58fa9ea67600183..421941a52d7531daf7ff9b274712c6b79525289c 100644 --- a/src/uas/UAS.h +++ b/src/uas/UAS.h @@ -348,8 +348,9 @@ protected: virtual void processParamValueMsg(mavlink_message_t& msg, const QString& paramName,const mavlink_param_value_t& rawValue, mavlink_param_union_t& paramValue); - int componentID[256]; - bool componentMulti[256]; + QMapcomponentID; + QMapcomponentMulti; + bool connectionLost; ///< Flag indicates a timed out connection quint64 connectionLossTime; ///< Time the connection was interrupted quint64 lastVoltageWarning; ///< Time at which the last voltage warning occurred