diff --git a/src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc b/src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc index d4c4ad044060fb8ebd511e3b1de8d8dedae0e2ba..d64380b20014b0c7bdadeeed7be0fabc326e1b59 100644 --- a/src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc +++ b/src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc @@ -325,6 +325,24 @@ void PX4ParameterMetaData::_loadParameterFactMetaData(void) metaData->setRebootRequired(true); } + } else if (elementName == "values") { + // doing nothing individual value will follow anyway. May be used for sanity checking. + + } else if (elementName == "value") { + QString enumValueStr = xml.attributes().value("code").toString(); + QString enumString = xml.readElementText(); + qCDebug(PX4ParameterMetaDataLog) << "parameter value:" + << "value desc:" << enumString << "code:" << enumValueStr; + + QVariant enumValue; + QString errorString; + if (metaData->convertAndValidateRaw(enumValueStr, false /* validate */, enumValue, errorString)) { + metaData->addEnumInfo(enumString, enumValue); + } else { + qCDebug(PX4ParameterMetaDataLog) << "Invalid enum value, name:" << metaData->name() + << " type:" << metaData->type() << " value:" << enumValueStr + << " error:" << errorString; + } } else { qDebug() << "Unknown element in XML: " << elementName; } diff --git a/src/comm/PX4MockLink.params b/src/comm/PX4MockLink.params index 966d4996836a67f3177d1255c3a27bbcb9d40bf4..5ecb10c233f9084d5e51a5cfa086e5c7f27bd576 100644 --- a/src/comm/PX4MockLink.params +++ b/src/comm/PX4MockLink.params @@ -507,7 +507,7 @@ 1 50 SENS_FLOW_ROT 0 6 1 50 SYS_AUTOCONFIG 0 6 1 50 SYS_AUTOSTART 10016 6 -1 50 SYS_COMPANION 0 6 +1 50 SYS_COMPANION 157600 6 1 50 SYS_RESTART_TYPE 0 6 1 50 SYS_USE_IO 1 6 1 50 TEST_D 0.01 9