From 9fe3abf5ca59a67fb570179b6b78f32e228cc20d Mon Sep 17 00:00:00 2001 From: Daniel Nugent Date: Fri, 11 Sep 2015 18:15:02 +0900 Subject: [PATCH] Copter: precision landing uses sonar alt if available --- ArduCopter/precision_landing.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ArduCopter/precision_landing.cpp b/ArduCopter/precision_landing.cpp index c793e2e76a..eb938145df 100644 --- a/ArduCopter/precision_landing.cpp +++ b/ArduCopter/precision_landing.cpp @@ -15,10 +15,16 @@ void Copter::init_precland() void Copter::update_precland() { - copter.precland.update(current_loc.alt); + float final_alt = current_loc.alt; + + // use range finder altitude if it is valid + if (sonar_enabled && (sonar_alt_health >= SONAR_ALT_HEALTH_MAX)) { + final_alt = sonar_alt; + } + + copter.precland.update(final_alt); // log output Log_Write_Precland(); } - #endif