1
0
Fork 0

Reverted last changes, because they caused needle flips near 0.

This commit is contained in:
david 2004-11-10 20:01:28 +00:00
parent 5733464305
commit 42322949fa

View file

@ -6,7 +6,6 @@
#include <simgear/compiler.h>
#include <simgear/math/sg_geodesy.hxx>
#include <simgear/math/sg_random.h>
#include <simgear/sg_inlines.h>
#include <Main/fg_props.hxx>
#include <Main/util.hxx>
@ -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);