From 42322949fa96847ea56353f2137a14c50c0035ab Mon Sep 17 00:00:00 2001 From: david Date: Wed, 10 Nov 2004 20:01:28 +0000 Subject: [PATCH] Reverted last changes, because they caused needle flips near 0. --- src/Instrumentation/adf.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Instrumentation/adf.cxx b/src/Instrumentation/adf.cxx index 4cc7d269a..d4f646220 100644 --- a/src/Instrumentation/adf.cxx +++ b/src/Instrumentation/adf.cxx @@ -6,7 +6,6 @@ #include #include #include -#include #include
#include
@@ -198,7 +197,8 @@ ADF::update (double delta_time_sec) _in_range_node->setBoolValue(true); bearing -= heading; - SG_NORMALIZE_RANGE(bearing, 0.0, 360.0); + if (bearing < 0) + bearing += 360; set_bearing(delta_time_sec, bearing); // adf ident sound @@ -291,7 +291,10 @@ ADF::set_bearing (double dt, double bearing_deg) { double old_bearing_deg = _bearing_node->getDoubleValue(); - SG_NORMALIZE_RANGE(old_bearing_deg, 0.0, 360.0); + while ((bearing_deg - old_bearing_deg) >= 180) + old_bearing_deg += 360; + while ((bearing_deg - old_bearing_deg) <= -180) + old_bearing_deg -= 360; bearing_deg += _error_node->getDoubleValue(); bearing_deg = fgGetLowPass(old_bearing_deg, bearing_deg, dt * RESPONSIVENESS); -- 2.39.5