From e8e2feb79706211c1dc89371473e0b05cd9532b4 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Sat, 17 Mar 2018 09:14:01 -0700 Subject: [PATCH] Fix relative and absolute altitudes --- src/MissionManager/MissionController.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index db1347ba0..f9ffdc185 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -277,7 +277,7 @@ void MissionController::convertToKMLDocument(QDomDocument& document) return; } - float altitude = missionJson[_jsonPlannedHomePositionKey].toArray()[2].toDouble(); + float homeAltitude = missionJson[_jsonPlannedHomePositionKey].toArray()[2].toDouble(); QString coord; QStringList coords; @@ -292,11 +292,12 @@ void MissionController::convertToKMLDocument(QDomDocument& document) qgcApp()->toolbox()->missionCommandTree()->getUIInfo(_controllerVehicle, item->command()); if (uiInfo && uiInfo->specifiesCoordinate() && !uiInfo->isStandaloneCoordinate()) { + double amslAltitude = item->param7() + (item->frame() == MAV_FRAME_GLOBAL ? 0 : homeAltitude); coord = QString::number(item->param6(),'f',7) \ + "," \ + QString::number(item->param5(),'f',7) \ + "," \ - + QString::number(item->param7() + altitude,'f',2); + + QString::number(amslAltitude,'f',2); coords.append(coord); } } -- 2.22.0