diff --git a/src/FactSystem/ParameterManager.cc b/src/FactSystem/ParameterManager.cc index d28d31c52c5aa5ea9f3a9d7e9c6082a18ec3841b..7f939c3aa0a2023c441980fc98a2fee16d72bb78 100644 --- a/src/FactSystem/ParameterManager.cc +++ b/src/FactSystem/ParameterManager.cc @@ -832,11 +832,13 @@ void ParameterManager::_tryCacheHashLoad(int vehicleId, int componentId, QVarian /* compute the crc of the local cache to check against the remote */ for (const QString& name: cacheMap.keys()) { - if (_vehicle->compInfoManager()->compInfoParam(MAV_COMP_ID_AUTOPILOT1)->_isParameterVolatile(name)) { + const ParamTypeVal& paramTypeVal = cacheMap[name]; + const FactMetaData::ValueType_t fact_type = static_cast(paramTypeVal.first); + + if (_vehicle->compInfoManager()->compInfoParam(MAV_COMP_ID_AUTOPILOT1)->factMetaDataForName(name, fact_type)->volatileValue()) { // Does not take part in CRC qCDebug(ParameterManagerLog) << "Volatile parameter" << name; } else { - const ParamTypeVal& paramTypeVal = cacheMap[name]; const void *vdat = paramTypeVal.second.constData(); const FactMetaData::ValueType_t fact_type = static_cast(paramTypeVal.first); crc32_value = QGC::crc32((const uint8_t *)qPrintable(name), name.length(), crc32_value); diff --git a/src/FirmwarePlugin/FirmwarePlugin.h b/src/FirmwarePlugin/FirmwarePlugin.h index 07144c56a8e44176d9124292173949c255f06901..467bdc9611b8c88aaa70554c48d2e759d8a1ff02 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.h +++ b/src/FirmwarePlugin/FirmwarePlugin.h @@ -229,11 +229,6 @@ public: /// Important: Only CompInfoParam code should use this method virtual FactMetaData* _getMetaDataForFact(QObject* /*parameterMetaData*/, const QString& /*name*/, FactMetaData::ValueType_t /* type */, MAV_TYPE /*vehicleType*/) { return nullptr; } - /// Returns the FactMetaData associated with the parameter name - /// @param opaqueParameterMetaData Opaque pointer returned from loadParameterMetaData - /// Important: Only CompInfoParam code should use this method - virtual bool _isParameterVolatile(QObject* /*parameterMetaData*/, const QString& /*name*/, MAV_TYPE /*vehicleType*/) { return false; } - /// List of supported mission commands. Empty list for all commands supported. virtual QList supportedMissionCommands(QGCMAVLink::VehicleClass_t vehicleClass); diff --git a/src/Vehicle/CompInfoParam.cc b/src/Vehicle/CompInfoParam.cc index e8d1c18f8512596b9d18d9ca4b3db0e5ac53327a..7a619ef914394677febeac732b66f99b873e011f 100644 --- a/src/Vehicle/CompInfoParam.cc +++ b/src/Vehicle/CompInfoParam.cc @@ -142,18 +142,6 @@ FactMetaData* CompInfoParam::factMetaDataForName(const QString& name, FactMetaDa return factMetaData; } -bool CompInfoParam::_isParameterVolatile(const QString& name) -{ - if (_noJsonMetadata) { - QObject* opaqueMetaData = _getOpaqueParameterMetaData(); - if (opaqueMetaData) { - return vehicle->firmwarePlugin()->_isParameterVolatile(opaqueMetaData, name, vehicle->vehicleType()); - } - } - - return _nameToMetaDataMap.contains(name) ? _nameToMetaDataMap[name]->volatileValue() : false; -} - FirmwarePlugin* CompInfoParam::_anyVehicleTypeFirmwarePlugin(MAV_AUTOPILOT firmwareType) { FirmwarePluginManager* pluginMgr = qgcApp()->toolbox()->firmwarePluginManager(); diff --git a/src/Vehicle/CompInfoParam.h b/src/Vehicle/CompInfoParam.h index f7f0cc5364e264f2c8e0eb7dc14d678a03b2c300..0503160b6c381510a5d3b194ad2f64692539f4da 100644 --- a/src/Vehicle/CompInfoParam.h +++ b/src/Vehicle/CompInfoParam.h @@ -34,9 +34,6 @@ public: // Overrides from CompInfo void setJson(const QString& metadataJsonFileName, const QString& translationJsonFileName) override; - // The following methods are used to support the old non-COMPONENT_INFORMATION based mechanism to get parameter meta data - bool _isParameterVolatile (const QString& name); - static void _cachePX4MetaDataFile(const QString& metaDataFile); private: