From 6f7342fdd854d0e04dd748d8ea3ac5566ba9b1f6 Mon Sep 17 00:00:00 2001 From: Gautier Hattenberger Date: Tue, 1 Apr 2025 18:39:10 +0200 Subject: [PATCH] [fix] utm coord was not initialized in landing module for FW (#3445) Also - kill throttle after landing - add module takoff/land to demo mission flight plan --- conf/flight_plans/mission_fw.xml | 3 ++- sw/airborne/modules/nav/nav_takeoff_and_landing_fw.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/flight_plans/mission_fw.xml b/conf/flight_plans/mission_fw.xml index 7ce3928336..290b0745c4 100644 --- a/conf/flight_plans/mission_fw.xml +++ b/conf/flight_plans/mission_fw.xml @@ -1,6 +1,6 @@ - +
@@ -12,6 +12,7 @@ + diff --git a/sw/airborne/modules/nav/nav_takeoff_and_landing_fw.c b/sw/airborne/modules/nav/nav_takeoff_and_landing_fw.c index 03dca6bba0..4f95a784be 100644 --- a/sw/airborne/modules/nav/nav_takeoff_and_landing_fw.c +++ b/sw/airborne/modules/nav/nav_takeoff_and_landing_fw.c @@ -316,6 +316,7 @@ static bool nav_land_run(void) break; case NAV_LANDING_DONE: default: + NavKillThrottle(); landing.status = NAV_LANDING_INIT; return false; } @@ -346,7 +347,7 @@ bool nav_land_at_loc(float td_alt, float lat, float lon, float dir, float dist, landing.td_id = 0; landing.af_id = 0; struct LlaCoor_f lla = { RadOfDeg(lat), RadOfDeg(lon), GetAltRef() + td_alt }; - struct UtmCoor_f utm; + struct UtmCoor_f utm = {0}; utm_of_lla_f(&utm, &lla); ENU_OF_UTM_DIFF(landing.td_pos, utm, *stateGetUtmOrigin_f()); landing.af_pos.x = landing.td_pos.x + dist * sinf(RadOfDeg(dir));