From 6273c31ca746c04c45e54f69a93fcbdc7067b7ce Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sun, 4 Jun 2017 18:46:55 -0700 Subject: [PATCH] Allow dups in param meta data The ardupilot parameter meta data generator will generate dups when the parameter is in ifdef'ed code --- .../APM/APMParameterMetaData.cc | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/FirmwarePlugin/APM/APMParameterMetaData.cc b/src/FirmwarePlugin/APM/APMParameterMetaData.cc index 66579bf68..4a7fba0ce 100644 --- a/src/FirmwarePlugin/APM/APMParameterMetaData.cc +++ b/src/FirmwarePlugin/APM/APMParameterMetaData.cc @@ -238,22 +238,19 @@ void APMParameterMetaData::loadParameterFactMetaDataFile(const QString& metaData << "group: " << group; Q_ASSERT(!rawMetaData); - rawMetaData = new APMFactMetaDataRaw(); if (_vehicleTypeToParametersMap[currentCategory].contains(name)) { - // We can't trust the meta dafa since we have dups - qCWarning(APMParameterMetaDataLog) << "Duplicate parameter found:" << name; - badMetaData = true; + qCDebug(APMParameterMetaDataLog) << "Duplicate parameter found:" << name; + rawMetaData = _vehicleTypeToParametersMap[currentCategory][name]; } else { - qCDebug(APMParameterMetaDataVerboseLog) << "inserting metadata for field" << name; + rawMetaData = new APMFactMetaDataRaw(); _vehicleTypeToParametersMap[currentCategory][name] = rawMetaData; - rawMetaData->name = name; - rawMetaData->group = group; - rawMetaData->shortDescription = shortDescription; - rawMetaData->longDescription = longDescription; - groupMembers[group] << name; } - + qCDebug(APMParameterMetaDataVerboseLog) << "inserting metadata for field" << name; + rawMetaData->name = name; + rawMetaData->group = group; + rawMetaData->shortDescription = shortDescription; + rawMetaData->longDescription = longDescription; } else { // We should be getting meta data now if (xmlState.top() != XmlStateFoundParameter) { -- 2.22.0