Expose a flag indicating if the GPS is driving the AP (to give clearer user feedback when that is the case)
This commit is contained in:
parent
1aff92ce49
commit
ee8437431a
2 changed files with 8 additions and 1 deletions
|
@ -303,6 +303,7 @@ GPS::init ()
|
|||
fromFlag->alias(wp1_node->getChild("from-flag"));
|
||||
|
||||
// autopilot drive properties
|
||||
_apDrivingFlag = fgGetNode("/autopilot/settings/gps-driving-true-heading", true);
|
||||
_apTrueHeading = fgGetNode("/autopilot/settings/true-heading-deg",true);
|
||||
_apTargetAltitudeFt = fgGetNode("/autopilot/settings/target-altitude-ft", true);
|
||||
_apAltitudeLock = fgGetNode("/autopilot/locks/altitude", true);
|
||||
|
@ -958,12 +959,17 @@ void GPS::updateRouteData()
|
|||
void GPS::driveAutopilot()
|
||||
{
|
||||
if (!_config.driveAutopilot() || !_realismSimpleGps->getBoolValue()) {
|
||||
_apDrivingFlag->setBoolValue(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// compatability feature - allow the route-manager / GPS to drive the
|
||||
// generic autopilot heading hold *in leg mode only*
|
||||
if (_mode == "leg") {
|
||||
|
||||
bool drive = _mode == "leg";
|
||||
_apDrivingFlag->setBoolValue(drive);
|
||||
|
||||
if (drive) {
|
||||
// FIXME: we want to set desired track, not heading, here
|
||||
_apTrueHeading->setDoubleValue(getWP1Bearing());
|
||||
}
|
||||
|
|
|
@ -413,6 +413,7 @@ private:
|
|||
SGPropertyNode_ptr _realismSimpleGps; ///< should the GPS be simple or realistic?
|
||||
|
||||
// autopilot drive properties
|
||||
SGPropertyNode_ptr _apDrivingFlag;
|
||||
SGPropertyNode_ptr _apTrueHeading;
|
||||
SGPropertyNode_ptr _apTargetAltitudeFt;
|
||||
SGPropertyNode_ptr _apAltitudeLock;
|
||||
|
|
Loading…
Add table
Reference in a new issue