diff --git a/src/FirmwarePlugin/APM/APMParameterMetaData.cc b/src/FirmwarePlugin/APM/APMParameterMetaData.cc index 30032c2f26d8d9204b97cab5d55616a61b9ece0e..929fe9e5e3608049417b0f8619e1609eabefb3eb 100644 --- a/src/FirmwarePlugin/APM/APMParameterMetaData.cc +++ b/src/FirmwarePlugin/APM/APMParameterMetaData.cc @@ -568,6 +568,15 @@ void APMParameterMetaData::addMetaDataToFact(Fact* fact, MAV_TYPE vehicleType) } } + // ArduPilot does not yet support decimal places meta data. So for P/I/D parameters we force to 6 places + if ((fact->name().endsWith(QStringLiteral("_P")) || + fact->name().endsWith(QStringLiteral("_I")) || + fact->name().endsWith(QStringLiteral("_D"))) && + (fact->type() == FactMetaData::valueTypeFloat || + fact->type() == FactMetaData::valueTypeDouble)) { + metaData->setDecimalPlaces(6); + } + fact->setMetaData(metaData); }