From d5aad58c92cb9e627ac7ecac26ee110e3ea26dd6 Mon Sep 17 00:00:00 2001 From: Alessandro Simovic <alessandro@yuneecresearch.com> Date: Thu, 21 Feb 2019 16:35:55 +0100 Subject: [PATCH] navigator: reset vehicle_roi on mission update --- src/modules/navigator/mission.cpp | 5 +++++ src/modules/navigator/navigator.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/modules/navigator/mission.cpp b/src/modules/navigator/mission.cpp index 168719be32..8ef26e7831 100644 --- a/src/modules/navigator/mission.cpp +++ b/src/modules/navigator/mission.cpp @@ -448,6 +448,11 @@ Mission::update_mission() /* reset triplets */ _navigator->reset_triplets(); + /* Reset vehicle_roi + * Missions that do not explicitly configure ROI would not override + * an existing ROI setting from previous missions */ + _navigator->reset_vroi(); + struct mission_s old_mission = _mission; if (orb_copy(ORB_ID(mission), _navigator->get_mission_sub(), &_mission) == OK) { diff --git a/src/modules/navigator/navigator.h b/src/modules/navigator/navigator.h index 51b7f58be9..95bbffc504 100644 --- a/src/modules/navigator/navigator.h +++ b/src/modules/navigator/navigator.h @@ -159,6 +159,7 @@ public: PrecLand *get_precland() { return &_precland; } /**< allow others, e.g. Mission, to use the precision land block */ const vehicle_roi_s &get_vroi() { return _vroi; } + void reset_vroi() { _vroi = {}; } bool home_alt_valid() { return (_home_pos.timestamp > 0 && _home_pos.valid_alt); } bool home_position_valid() { return (_home_pos.timestamp > 0 && _home_pos.valid_alt && _home_pos.valid_hpos); } -- GitLab