From 4d61a6b21de71fcd95811e22adfdd6d13d55b60d Mon Sep 17 00:00:00 2001 From: Diogo Jesus Date: Thu, 21 Mar 2024 14:30:34 +0000 Subject: [PATCH 1/3] Fix check delta on cam's --- src/cam.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cam.c b/src/cam.c index eb72810..1946d50 100644 --- a/src/cam.c +++ b/src/cam.c @@ -680,8 +680,8 @@ int lightship_check() { itss_space_get(); // Check heading delta > 4º - int diff = epv.space.heading - lightship->last_pos.heading; - if (abs(diff) > 40) rv = 1; + int diff = ((epv.space.heading - lightship->last_pos.heading) + 180) % 360 - 180; + if (diff > 40) rv = 1; if (!rv) { // Check speed delta > 0.5 m/s From af66066235b7713572566cf5b070400fb9a9d1ae Mon Sep 17 00:00:00 2001 From: Diogo Jesus Date: Thu, 21 Mar 2024 14:33:00 +0000 Subject: [PATCH 2/3] Fix heading check delta on cam. --- src/cam.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cam.c b/src/cam.c index 1946d50..805478a 100644 --- a/src/cam.c +++ b/src/cam.c @@ -680,8 +680,9 @@ int lightship_check() { itss_space_get(); // Check heading delta > 4º - int diff = ((epv.space.heading - lightship->last_pos.heading) + 180) % 360 - 180; - if (diff > 40) rv = 1; + int diff = epv.space.heading - lightship->last_pos.heading; + diff += (diff > 180) ? -360 : (diff < -180) ? 360 : 0; + if (abs(diff) > 40) rv = 1; if (!rv) { // Check speed delta > 0.5 m/s From bb962004d2b6ede63e54d1d30f7b362d6ad85212 Mon Sep 17 00:00:00 2001 From: Diogo Jesus Date: Thu, 21 Mar 2024 14:44:19 +0000 Subject: [PATCH 3/3] Update cam.c --- src/cam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cam.c b/src/cam.c index 60bc9fd..cc4b7be 100644 --- a/src/cam.c +++ b/src/cam.c @@ -437,7 +437,7 @@ int lightship_check() { // Check heading delta > 4º int diff = epv.space.data.heading.value - lightship->last_pos.heading; - diff += (diff > 180) ? -360 : (diff < -180) ? 360 : 0; + diff += (diff > 1800) ? -3600 : (diff < -1800) ? 3600 : 0; if (abs(diff) > 40) rv = 1; if (!rv) {