diff --git a/src/FirmwarePlugin/APM/APMParameterMetaData.cc b/src/FirmwarePlugin/APM/APMParameterMetaData.cc index 1fd7f18c28e5609615e12cb9c14bc7d393b3daa3..7d73528be2346c76561a51dec1778356b3529036 100644 --- a/src/FirmwarePlugin/APM/APMParameterMetaData.cc +++ b/src/FirmwarePlugin/APM/APMParameterMetaData.cc @@ -129,6 +129,13 @@ QString APMParameterMetaData::mavTypeToString(MAV_TYPE vehicleTypeEnum) return vehicleName; } +QString APMParameterMetaData::_groupFromParameterName(const QString& name) +{ + QString group = name.split('_').first(); + return group.remove(QRegExp("[0-9]*$")); // remove any numbers from the end +} + + void APMParameterMetaData::loadParameterFactMetaDataFile(const QString& metaDataFile) { if (_parameterMetaDataLoaded) { @@ -232,8 +239,7 @@ void APMParameterMetaData::loadParameterFactMetaDataFile(const QString& metaData if (name.contains(':')) { name = name.split(':').last(); } - QString group = name.split('_').first(); - group = group.remove(QRegExp("[0-9]*$")); // remove any numbers from the end + QString group = _groupFromParameterName(name); QString category = xml.attributes().value("user").toString(); if (category.isEmpty()) { @@ -435,6 +441,8 @@ void APMParameterMetaData::addMetaDataToFact(Fact* fact, MAV_TYPE vehicleType) // we don't have data for this fact if (!rawMetaData) { + metaData->setCategory(QStringLiteral("Advanced")); + metaData->setGroup(_groupFromParameterName(fact->name())); fact->setMetaData(metaData); qCDebug(APMParameterMetaDataLog) << "No metaData for " << fact->name() << "using generic metadata"; return; diff --git a/src/FirmwarePlugin/APM/APMParameterMetaData.h b/src/FirmwarePlugin/APM/APMParameterMetaData.h index 675476ed2770f743da7187da9c097380a4cf9f76..5b69588e5f65659282d410df34318f780ccfd562 100644 --- a/src/FirmwarePlugin/APM/APMParameterMetaData.h +++ b/src/FirmwarePlugin/APM/APMParameterMetaData.h @@ -80,6 +80,7 @@ private: bool parseParameterAttributes(QXmlStreamReader& xml, APMFactMetaDataRaw *rawMetaData); void correctGroupMemberships(ParameterNametoFactMetaDataMap& parameterToFactMetaDataMap, QMap& groupMembers); QString mavTypeToString(MAV_TYPE vehicleTypeEnum); + QString _groupFromParameterName(const QString& name); bool _parameterMetaDataLoaded; ///< true: parameter meta data already loaded QMap _vehicleTypeToParametersMap; ///< Maps from a vehicle type to paramametertoFactMeta map>