Revert "A3XX: FMGC NAV bugfix"

This reverts commit 4efd517b43.
This commit is contained in:
Joshua Davidson 2017-11-17 20:31:32 -05:00
parent fdd0b4b13f
commit b2699b133d

View file

@ -552,42 +552,36 @@ var ap_various = func {
}
var lnavCalc = maketimer(0.05, func {
if (getprop("/autopilot/route-manager/active") == 1) {
var f = flightplan();
var total_distance = getprop("/autopilot/route-manager/total-distance");
var distance = total_distance - getprop("/autopilot/route-manager/distance-remaining-nm");
var destination_elevation = getprop("/autopilot/route-manager/destination/field-elevation-ft");
var leg = f.currentWP();
if (leg == nil) {
if (getprop("/it-autoflight/output/vert") == 1) {
setprop("/it-autoflight/input/lat", 3);
}
return;
}
var groundspeed = getprop("/velocities/groundspeed-kt");
var log_distance = getprop("/instrumentation/gps/wp/wp[1]/distance-nm");
var along_route = total_distance - getprop("/autopilot/route-manager/distance-remaining-nm");
var geocoord = geo.aircraft_position();
var referenceCourse = f.pathGeod(f.indexOfWP(f.destination_runway), -getprop("/autopilot/route-manager/distance-remaining-nm"));
var courseCoord = geo.Coord.new().set_latlon(referenceCourse.lat, referenceCourse.lon);
var CourseError = (geocoord.distance_to(courseCoord) / 1852) + 1;
var change_wp = abs(getprop("/autopilot/route-manager/wp/bearing-deg") - getprop("/orientation/heading-deg"));
if (change_wp > 180) {
change_wp = (360 - change_wp);
}
CourseError += (change_wp / 20);
var targetCourse = f.pathGeod(f.indexOfWP(f.destination_runway), (-getprop("autopilot/route-manager/distance-remaining-nm") + CourseError));
courseCoord = geo.Coord.new().set_latlon(targetCourse.lat, targetCourse.lon);
CourseError = (geocoord.course_to(courseCoord) - getprop("/orientation/heading-deg"));
if (CourseError < -180) {
CourseError += 360;
} else if (CourseError > 180) {
CourseError -= 360;
}
setprop("/it-autoflight/internal/lnav-error-deg", CourseError);
} else {
setprop("/it-autoflight/internal/lnav-error-deg", 0);
var f = flightplan();
var total_distance = getprop("/autopilot/route-manager/total-distance");
var distance = total_distance - getprop("/autopilot/route-manager/distance-remaining-nm");
var destination_elevation = getprop("/autopilot/route-manager/destination/field-elevation-ft");
var leg = f.currentWP();
if (leg == nil) {
setprop("/it-autoflight/input/lat", 3);
return;
}
var groundspeed = getprop("/velocities/groundspeed-kt");
var log_distance = getprop("/instrumentation/gps/wp/wp[1]/distance-nm");
var along_route = total_distance - getprop("/autopilot/route-manager/distance-remaining-nm");
var geocoord = geo.aircraft_position();
var referenceCourse = f.pathGeod(f.indexOfWP(f.destination_runway), -getprop("/autopilot/route-manager/distance-remaining-nm"));
var courseCoord = geo.Coord.new().set_latlon(referenceCourse.lat, referenceCourse.lon);
var CourseError = (geocoord.distance_to(courseCoord) / 1852) + 1;
var change_wp = abs(getprop("/autopilot/route-manager/wp/bearing-deg") - getprop("/orientation/heading-deg"));
if (change_wp > 180) {
change_wp = (360 - change_wp);
}
CourseError += (change_wp / 20);
var targetCourse = f.pathGeod(f.indexOfWP(f.destination_runway), (-getprop("autopilot/route-manager/distance-remaining-nm") + CourseError));
courseCoord = geo.Coord.new().set_latlon(targetCourse.lat, targetCourse.lon);
CourseError = (geocoord.course_to(courseCoord) - getprop("/orientation/heading-deg"));
if (CourseError < -180) {
CourseError += 360;
} else if (CourseError > 180) {
CourseError -= 360;
}
setprop("/it-autoflight/internal/lnav-error-deg", CourseError);
});
var flch_on = func {