From 17990cf5dcdac584cdea810753e8f2fa7dc45e49 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 13 Dec 2016 19:40:55 -0500 Subject: [PATCH] geofence fix combined simple and polygon logic - require being inside both fences, not either --- src/modules/navigator/geofence.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/navigator/geofence.cpp b/src/modules/navigator/geofence.cpp index 5fff22bae1..2f18822764 100644 --- a/src/modules/navigator/geofence.cpp +++ b/src/modules/navigator/geofence.cpp @@ -168,7 +168,9 @@ bool Geofence::inside(double lat, double lon, float altitude) } } - inside_fence |= inside_polygon(lat, lon, altitude); + // to be inside the geofence both fences have to report being inside + // as they both report being inside when not enabled + inside_fence = inside_fence && inside_polygon(lat, lon, altitude); if (inside_fence) { _outside_counter = 0;