#endif
#include <stdio.h> // sprintf()
+#include <string.h> // strcmp()
#include <simgear/constants.h>
#include <simgear/sg_inlines.h>
altitude_hold = false ; // turn the altitude hold off
auto_throttle = false ; // turn the auto throttle off
heading_mode = DEFAULT_AP_HEADING_LOCK;
+ altitude_mode = DEFAULT_AP_ALTITUDE_LOCK;
DGTargetHeading = fgGetDouble("/autopilot/settings/heading-bug-deg");
TargetHeading = fgGetDouble("/autopilot/settings/heading-bug-deg");
// figure out how far off we are from desired heading
// Now it is time to deterime how far we should be rolled.
- SG_LOG( SG_AUTOPILOT, SG_DEBUG, "RelHeading: " << RelHeading );
-
+ SG_LOG( SG_AUTOPILOT, SG_DEBUG,
+ "Heading = " << heading_node->getDoubleValue() <<
+ " TargetHeading = " << TargetHeading <<
+ " RelHeading = " << RelHeading );
// Check if we are further from heading than the roll out point
if ( fabs( RelHeading ) > RollOut ) {
* SG_FEET_TO_METER ) {
}
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
MakeTargetAltitudeStr( TargetAltitude * SG_METER_TO_FEET );
} else {
MakeTargetAltitudeStr( TargetAltitude * SG_METER_TO_FEET );
} else if ( altitude_mode == FG_ALTITUDE_TERRAIN ) {
TargetAGL = altitude_agl_node->getDoubleValue() * SG_FEET_TO_METER;
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
MakeTargetAltitudeStr( TargetAGL * SG_METER_TO_FEET );
} else {
MakeTargetAltitudeStr( TargetAGL * SG_METER_TO_FEET );
void FGAutopilot::AltitudeSet( double new_altitude ) {
double target_alt = new_altitude;
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
target_alt = new_altitude * SG_FEET_TO_METER;
}
TargetAltitude = target_alt;
altitude_mode = FG_ALTITUDE_LOCK;
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
target_alt *= SG_METER_TO_FEET;
}
// ApAltitudeDialogInput->setValue((float)target_alt);
{
double target_alt, target_agl;
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
target_alt = TargetAltitude * SG_METER_TO_FEET;
target_agl = TargetAGL * SG_METER_TO_FEET;
} else {
target_agl = ( int ) ( target_agl / inc ) * inc + inc;
}
- if ( fgGetString("/sim/startup/units") == "feet" ) {
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") ) {
target_alt *= SG_FEET_TO_METER;
target_agl *= SG_FEET_TO_METER;
}
TargetAltitude = target_alt;
TargetAGL = target_agl;
- if ( fgGetString("/sim/startup/units") == "feet" )
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") )
target_alt *= SG_METER_TO_FEET;
- if ( fgGetString("/sim/startup/units") == "feet" )
+ if ( !strcmp(fgGetString("/sim/startup/units"), "feet") )
target_agl *= SG_METER_TO_FEET;
if ( altitude_mode == FG_ALTITUDE_LOCK ) {