double kts = velocity * SG_METER_TO_NM * 3600.0;
_set_V_equiv_kts( kts );
_set_V_calibrated_kts( kts );
- _set_V_ground_speed( kts );
+ set_V_ground_speed_kt( kts );
// angle of turn
double turn_rate = sin(roll) * SGD_PI_4; // radians/sec
double turn = turn_rate * time_step;
- double yaw = fabs(rudder) < .2 ? 0.0 : rudder / (25 + fabs(speed) * .1);
+ double yaw = fabs(rudder) < .05 ? 0.0 : (rudder * (fabs(rudder) - 0.05) / 10);
// update (lon/lat) position
double lat2 = 0.0, lon2 = 0.0, az2 = 0.0;
sgGeodToGeoc( get_Latitude(), get_Altitude(), &sl_radius, &lat_geoc );
// update euler angles
- double heading = fmod(get_Psi() + turn + yaw, SGD_2PI);
+ double heading = SGMiscd::normalizePeriodic(0, SGD_2PI, get_Psi() + turn + yaw );
_set_Euler_Angles(roll, pitch, heading);
_set_Euler_Rates(0,0,0);