From 6267f16b04949e92dfb6287c14d16cecb5e19410 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sat, 3 Dec 2016 16:36:48 -0800 Subject: [PATCH] Default decimal places for PID params --- src/FirmwarePlugin/APM/APMParameterMetaData.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/FirmwarePlugin/APM/APMParameterMetaData.cc b/src/FirmwarePlugin/APM/APMParameterMetaData.cc index 30032c2f2..929fe9e5e 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); } -- 2.22.0