From 664a0f2cda1a5379c554fecef811ac127d9e0320 Mon Sep 17 00:00:00 2001 From: Konrad Date: Wed, 17 Apr 2024 13:42:25 +0200 Subject: [PATCH] HomePosition: Add minimum position change needed to be recognised as new home position --- src/modules/commander/HomePosition.cpp | 5 ++++- src/modules/commander/HomePosition.hpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/commander/HomePosition.cpp b/src/modules/commander/HomePosition.cpp index ea3955e27f..4aa341dbcf 100644 --- a/src/modules/commander/HomePosition.cpp +++ b/src/modules/commander/HomePosition.cpp @@ -34,6 +34,8 @@ #include "HomePosition.hpp" +#include + #include #include "commander_helper.h" @@ -83,7 +85,8 @@ bool HomePosition::hasMovedFromCurrentHomeLocation() } } - return (home_dist_xy > eph * 2.f) || (home_dist_z > epv * 2.f); + return (home_dist_xy > fmaxf(eph * 2.f, kMinHomePositionChangeEPH)) + || (home_dist_z > fmaxf(epv * 2.f, kMinHomePositionChangeEPV)); } bool HomePosition::setHomePosition(bool force) diff --git a/src/modules/commander/HomePosition.hpp b/src/modules/commander/HomePosition.hpp index 6346dac42e..07d6b1a632 100644 --- a/src/modules/commander/HomePosition.hpp +++ b/src/modules/commander/HomePosition.hpp @@ -45,6 +45,8 @@ static constexpr int kHomePositionGPSRequiredFixType = 2; static constexpr float kHomePositionGPSRequiredEPH = 5.f; static constexpr float kHomePositionGPSRequiredEPV = 10.f; static constexpr float kHomePositionGPSRequiredEVH = 1.f; +static constexpr float kMinHomePositionChangeEPH = 1.f; +static constexpr float kMinHomePositionChangeEPV = 1.5f; class HomePosition {