diff --git a/A320-100-CFM.xml b/A320-100-CFM.xml
index 7d87dcdc..c2d553c8 100644
--- a/A320-100-CFM.xml
+++ b/A320-100-CFM.xml
@@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
Pre V1.0
A32X FDE
-
+
1319.79
117.26
@@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
57.88
248.79
57.33
-
+
19.2274
0
0.19249
-
+
0
0
0
-
+
18.8499
0
-1.7005004
-
+
611903
1735389
@@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
0
80431
-
+
18.8231
0
0.19249
-
+
380
@@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0.19249
-
+
3000
@@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-1.18112
-
+
3000
@@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
@@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
RIGHT
1
-
+
2.6272
@@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
14.3962788
@@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
40.0923
@@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
-
+
@@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
14.3962788
@@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
18.9231
@@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
JET-A1
-
-
+
+
+
-
+
-
+
-
+
diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml
index f6f7fb5e..03ce5e2f 100644
--- a/A320-200-CFM.xml
+++ b/A320-200-CFM.xml
@@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
Pre V1.0
A32X FDE
-
+
1319.79
117.26
@@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
57.88
248.79
57.33
-
+
19.2274
0
0.19249
-
+
0
0
0
-
+
18.8499
0
-1.7005004
-
+
611903
1735389
@@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
0
80431
-
+
18.8231
0
0.19249
-
+
380
@@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0.19249
-
+
3000
@@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-1.18112
-
+
3000
@@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
@@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
RIGHT
1
-
+
2.6272
@@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
14.3962788
@@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
40.0923
@@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
-
+
@@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
14.3962788
@@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
18.9231
@@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
JET-A1
-
+
+
-
+
-
+
-
+
diff --git a/A320-200-IAE.xml b/A320-200-IAE.xml
index c52cfa98..af135232 100644
--- a/A320-200-IAE.xml
+++ b/A320-200-IAE.xml
@@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
Pre V1.0
A32X FDE
-
+
1319.79
117.26
@@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
57.88
248.79
57.33
-
+
19.2274
0
0.19249
-
+
0
0
0
-
+
18.8499
0
-1.7005004
-
+
611903
1735389
@@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
0
80431
-
+
18.8231
0
0.19249
-
+
380
@@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0.19249
-
+
3000
@@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-1.18112
-
+
3000
@@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
@@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
RIGHT
1
-
+
2.6272
@@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
14.3962788
@@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
40.0923
@@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
-
+
@@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
14.3962788
@@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
18.9231
@@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
JET-A1
-
-
+
+
+
-
+
-
+
-
+
diff --git a/A320-main.xml b/A320-main.xml
index 0420bae3..8b3c955c 100644
--- a/A320-main.xml
+++ b/A320-main.xml
@@ -28,27 +28,10 @@
-
- 1
-
- 0.0
- 5000.0
- 200.0
- 25000.0
- 500.0
-
- -60.0
- 0.0
-
- 5.0
- 5.0
- 5.0
- 0.05
- 1.4
- 7.0
- 0.1
- 1.5
-
+ 5000
+ 200
+ 500
+ 0
@@ -247,10 +230,8 @@
-
- nasal
-
+ dialog-show
+ pushback
-
@@ -1474,22 +1455,6 @@
Aircraft/IDG-A32X/Nasal/icing.nas
-
- Nasal/autopush.nas
-
-
- Nasal/autopush_driver.nas
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/A320neo-CFM.xml b/A320neo-CFM.xml
index c2344ea8..3a0cbc76 100644
--- a/A320neo-CFM.xml
+++ b/A320neo-CFM.xml
@@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
Pre V1.0
A32X FDE
-
+
1319.79
117.26
@@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
57.88
248.79
57.33
-
+
19.2274
0
0.19249
-
+
0
0
0
-
+
18.8499
0
-1.7005004
-
+
611903
1735389
@@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
0
80431
-
+
18.8231
0
0.19249
-
+
380
@@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0.19249
-
+
3000
@@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-1.18112
-
+
3000
@@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
@@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
RIGHT
1
-
+
2.6272
@@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
14.3962788
@@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
40.0923
@@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
-
+
@@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
14.3962788
@@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
18.9231
@@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
JET-A1
-
-
+
+
+
-
+
-
+
-
+
diff --git a/A320neo-PW.xml b/A320neo-PW.xml
index f565b8f2..d06dfd1a 100644
--- a/A320neo-PW.xml
+++ b/A320neo-PW.xml
@@ -16,7 +16,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
Pre V1.0
A32X FDE
-
+
1319.79
117.26
@@ -26,26 +26,26 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
57.88
248.79
57.33
-
+
19.2274
0
0.19249
-
+
0
0
0
-
+
18.8499
0
-1.7005004
-
+
611903
1735389
@@ -55,13 +55,13 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
0
80431
-
+
18.8231
0
0.19249
-
+
380
@@ -79,7 +79,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0.19249
-
+
3000
@@ -88,7 +88,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-1.18112
-
+
3000
@@ -98,7 +98,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
@@ -145,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
RIGHT
1
-
+
2.6272
@@ -238,7 +238,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
14.3962788
@@ -269,7 +269,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
NONE
0
-
+
40.0923
@@ -332,7 +332,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
0
-
+
@@ -359,7 +359,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
14.3962788
@@ -385,7 +385,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
-
+
18.9231
@@ -448,17 +448,18 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
JET-A1
-
-
+
+
+
-
+
-
+
-
+
diff --git a/Nasal/autopush.nas b/Nasal/autopush.nas
deleted file mode 100644
index b5ea5059..00000000
--- a/Nasal/autopush.nas
+++ /dev/null
@@ -1,74 +0,0 @@
-# AUTOPUSH
-# Basic pushback logic class.
-#
-# Copyright (c) 2018 Michael Danilov
-# Distribute under the terms of GPLv2.
-
-var push_dlg = gui.Dialog.new("sim/gui/dialogs/autopush/push/dialog", "Aircraft/IDG-A32X/Systems/autopush.xml");
-
-var _K_p = nil;
-var _K_i = nil;
-var _K_d = nil;
-var _F_i = nil;
-var _int = nil;
-var _deltaV_old = nil;
-var _t_old = nil;
-
-var loop = func() {
- if (!getprop("/sim/model/pushback/available")) {
- stop();
- return;
- }
- var force = 0.0;
- # Rollspeed is only adequate if the wheel is touching the ground.
- if (getprop("/gear/gear[0]/wow")) {
- var deltaV =
- getprop("/sim/model/pushback/target-speed-km_h") -
- getprop("/gear/gear[0]/rollspeed-ms") * 3.6;
- var dV = deltaV - _deltaV_old;
- var t = getprop("/sim/time/elapsed-sec");
- var dt = math.max(t - _t_old, 0.0001);
- _int = math.min(math.max(_int + dV * dt, -_F_i), _F_i);
- force = (_K_p * deltaV + _K_d * dV / dt + _K_i * _int) * KG2LB;
- _deltaV_old = deltaV;
- _t_old = t;
- var yaw = getprop("/sim/model/pushback/yaw-deg") * D2R;
- setprop("/sim/model/pushback/force-x", math.cos(yaw));
- setprop("/sim/model/pushback/force-y", math.sin(yaw));
- }
- setprop("/sim/model/pushback/force-lbf", force);
-}
-
-var timer = maketimer(0.026, func{loop()});
-
-var start = func() {
- _K_p = getprop("/sim/model/pushback/K_p");
- _K_i = getprop("/sim/model/pushback/K_i");
- _K_d = getprop("/sim/model/pushback/K_d");
- _F_i = getprop("/sim/model/pushback/F_i");
- _int = 0.0;
- _deltaV_old = 0.0;
- _t_old = getprop("/sim/time/elapsed-sec");
- setprop("/sim/model/pushback/connected", 1);
- if (!timer.isRunning) {
- screen.log.write("(pushback): Release brakes.");
- }
- timer.start();
-}
-
-var stop = func() {
- if (timer.isRunning) {
- screen.log.write("(pushback): Pushback disconnected, bypass pin removed.");
- }
- timer.stop();
- setprop("/sim/model/pushback/force-lbf", 0.0);
- setprop("/sim/model/pushback/connected", 0);
-}
-
-var toggle = func(){
- if (getprop("/sim/model/pushback/enabled") * getprop("/sim/model/pushback/available")) {
- start();
- } else {
- stop();
- }
-}
diff --git a/Nasal/autopush_driver.nas b/Nasal/autopush_driver.nas
deleted file mode 100644
index 3599e129..00000000
--- a/Nasal/autopush_driver.nas
+++ /dev/null
@@ -1,111 +0,0 @@
-# AUTOPUSH
-# Pushback driver class.
-#
-# Command the pushback to tow/push the aircract facing set heading.
-#
-# Copyright (c) 2018 Michael Danilov
-# Distribute under the terms of GPLv2.
-
-
-# FIXME When facing, acccount for current steering position, to work without dry steering.
-
-
-var _K_V_push = nil;
-var _F_V_push = nil;
-var _S_min = nil;
-var _K_psi_push = nil;
-var _K_V_turn = nil;
-var _F_V_turn = nil;
-var _K_psi_turn = nil;
-var _V_min = nil;
-
-var _turning = nil;
-var _sign = nil;
-var _target = nil;
-var _psi_parking = nil;
-var _psi_turn = nil;
-
-var loop = func() {
- if (!getprop("/sim/model/pushback/connected")) {
- stop();
- return;
- }
- var V = 0.0;
- var steering = 0.0;
- var deltapsi = 0.0;
- var psi = getprop("/orientation/heading-magnetic-deg");
- if (!_turning) {
- # Initially follow a straight line parallel to our initial heading.
- var (A, S) = courseAndDistance(_target);
- S *= NM2M;
- # Stop when the bearing flips, guarante against infinite pushing.
- if ((abs(S) < _S_min) + (abs(saw180(_psi_parking - A - math.min(_sign, 0.0) * 180.0) > 90.0))) {
- _turning = 1;
- screen.log.write("(pushback): Turning to face heading " ~ int(_psi_turn) ~ ".");
- }
- deltapsi = saw180(_psi_parking - psi);
- V = math.min(math.max(_K_V_push * _sign * (S / _S_min), -_F_V_push), _F_V_push);
- steering = math.min(math.max(_K_psi_push * _sign * deltapsi, -1.0), 1.0);
- } else {
- # Turn (almost) in place.
- deltapsi = saw180(_psi_turn - psi);
- V = math.min(math.max(_K_V_turn * _sign * abs(deltapsi), -_F_V_turn), _F_V_turn);
- # We are done when the heading error is small.
- if (abs(V) < _V_min) {
- stop();
- return;
- }
- steering = math.min(math.max(_K_psi_turn * _sign * deltapsi, -1.0), 1.0);
- }
- setprop("/sim/model/pushback/target-speed-km_h", V);
- setprop("/sim/model/pushback/driver/steer-cmd-norm", steering);
-}
-
-var timer = maketimer(0.051, func{loop()});
-
-var start = func() {
- _K_V_push = getprop("/sim/model/pushback/driver/K_V_push");
- _F_V_push = getprop("/sim/model/pushback/driver/F_V_push");
- _S_min = getprop("/sim/model/pushback/driver/S_min-m");
- _K_psi_push = getprop("/sim/model/pushback/driver/K_psi_push");
- _K_V_turn = getprop("/sim/model/pushback/driver/K_V_turn");
- _F_V_turn = getprop("/sim/model/pushback/driver/F_V_turn");
- _K_psi_turn = getprop("/sim/model/pushback/driver/K_psi_turn");
- _V_min = getprop("/sim/model/pushback/driver/V_min");
- if (!getprop("/sim/model/pushback/connected")) {
- return;
- }
- towdist = getprop("/sim/model/pushback/driver/tow-distance-m");
- _target = geo.aircraft_position();
- _psi_parking = getprop("/orientation/heading-magnetic-deg");
- _target.apply_course_distance(_psi_parking, towdist);
- _psi_turn = getprop("/sim/model/pushback/driver/face-heading-deg");
- _sign = 1.0 - 2.0 * (towdist < 0.0);
- _turning = 0;
- timer.start();
- if (_sign < 0.0) {
- screen.log.write("(pushback): Pushing back.");
- } else {
- screen.log.write("(pushback): Towing.");
- }
-}
-
-var stop = func() {
- if (timer.isRunning) {
- screen.log.write("(pushback): Done.");
- setprop("/controls/flight/rudder", 0);
- }
- timer.stop();
- setprop("/sim/model/pushback/target-speed-km_h", 0.0);
-}
-
-# Sawtooth: -180..+180 deg.
-var saw180 = func(p) {
- while (p <= -180.0) {
- p += 360.0;
- }
- while (p > 180.0) {
- p -= 360.0;
- }
- return p;
-}
diff --git a/Resources/autopush-README.txt b/Resources/autopush-README.txt
deleted file mode 100644
index 698db78e..00000000
--- a/Resources/autopush-README.txt
+++ /dev/null
@@ -1,117 +0,0 @@
-AUTOMATIC PUSHBACK FOR FLIGHTGEAR
-Version 0.1.1
-
-Copyright (c) 2018 Michael Danilov
-Some of the code (c) FlightGear
-Distribute under the terms of GPLv2.
-
-
-FILES
-
-Nasal/autopush-README.txt this file
-Models/Goldhofert-autopush.xml the animation for FGDATA's Goldhofer
-Nasal/autopush.nas basic pushback logic
-Nasal/autopush_driver.nas pushback driver
-gui/dialogs/autopush.xml GUI dialog
-
-
-INSTALLATION
-
-Only the minimal working example is covered here. Later you will have
-to implement correct steering in your FDM (driving the
-"/sim/model/pushback/yaw-deg") and pushback availability
-("/sim/model/pushback/available") -- because those are too
-aircraft-specific.
-
-1. Set up the pushback logic. Add the following tags in your set.xml.
- Replace the "/fdm/jsbsim/gear/unit[0]/steering/pos-deg" with the
- property for the front wheel steering degrees of your aircraft.
-
- Under :
-
-
-
- 1
-
- 0.0
- 100.0
- 25.0
- 25000.0
- 0.0
-
- -60.0
- 0.0
-
- 10.0
- 10.0
- 5.0
- 0.05
- 1.4
- 7.0
- 0.2
- 2.5
-
-
-
- Under :
-
-
- Nasal/autopush.nas
-
-
- Nasal/autopush_driver.nas
-
-
-2. Connect the FDM's external force.
-
- a) JSBSim:
-
- a.1. Add the following under of your
- JSBSim XML. Change the coordinates under to equal
- those of your front bogey.
-
-
-
- 0.0
- 0.0
- 0.0
-
-
- 1.0
- 0.0
- 0.0
-
-
-
- a.2. Add the following under of
- your set.xml.
-
-
-
-
-
-
-
- b) YASim: TODO
-
-3. Copy the gui/dialogs/autopush.xml from the distribution to your
- aircraft's gui/dialogs directory. Add it to the menu (see
- FlightGear documentation for editing the menu).
-
-4. Copy the Models/Goldhofert-autopush.xml to your aircraft's Models/
- directory. Edit all the places marked by "SETTING" to match your
- setup. Include it in your Model XML, with offsets equal to the
- front wheel's contact point.
-
-5. Add the following in your Model XML. Change the coordinates under
- to equal those of your front bogey.
-
-
- Pushback
- Models/Airport/Pushback/Goldhofert-autopush.xml
-
- 0.0
- 0.0
- 0.0
-
-
diff --git a/Systems/autopush.xml b/Systems/autopush.xml
deleted file mode 100644
index e76df763..00000000
--- a/Systems/autopush.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-
-
-
-
-
-
- autopush
- vbox
-
-
- hbox
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
-
- true
- vbox
- center
- top
-
-
- left
-
- /sim/model/pushback/enabled
-
- dialog-apply
-
-
- nasal
-
-
-
-
-
-
-
- table
-
-
-
0
- 0
-
-
-
-
-
-
- 0
- 2
- -15
- 15
- /sim/model/pushback/target-speed-km_h
- true
-
- dialog-apply
-
-
-
-
-
-
-
-
- 0
- 5
- 16
- /sim/model/pushback/target-speed-km_h
- %3.0f
- true
-
-
-
- 0
- 6
-
-
-
-
-
-
-
- table
-
-
- 0
- 0
- left
-
-
-
-
-
-
-
-
- 0
- 3
- -100
- 100
- /sim/model/pushback/driver/tow-distance-m
- true
-
- dialog-apply
-
-
-
-
-
-
-
-
- 0
- 6
- 16
- /sim/model/pushback/driver/tow-distance-m
- %4.0f
- true
-
-
-
- 0
- 7
-
-
-
-
-
- table
-
-
- 0
- 0
- left
-
-
-
-
-
-
-
-
- 0
- 3
- 0
- 360
- /sim/model/pushback/driver/face-heading-deg
- true
-
- dialog-apply
-
-
-
-
-
-
-
-
- 0
- 6
- 16
- /sim/model/pushback/driver/face-heading-deg
- %3.0f
- true
-
-
-
- 0
- 7
-
-
-
-
-
- hbox
-
-
-
-
-
-
-
-
-
diff --git a/Systems/pushback.xml b/Systems/pushback.xml
new file mode 100644
index 00000000..abb72c46
--- /dev/null
+++ b/Systems/pushback.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+ /sim/model/pushback/target-speed-fps
+
+
+
+
+
+ /sim/model/pushback/position-norm gt 0.95
+ /gear/gear/wow == 1
+ gear/unit[0]/wheel-speed-fps lt 50
+
+
+
+
+ /sim/model/pushback/target-speed-fps
+ -gear/unit[0]/wheel-speed-fps
+
+
+
+ systems/pushback/speed-error
+ /sim/model/pushback/kp
+ /sim/model/pushback/ki
+ /sim/model/pushback/kd
+ systems/pushback/linked
+
+
+
+
+
+
+ systems/pushback/linked == 0
+
+
+
+
+
+
diff --git a/revision.txt b/revision.txt
index c3287e8c..93428e9b 100644
--- a/revision.txt
+++ b/revision.txt
@@ -1 +1 @@
-4319
\ No newline at end of file
+4321
\ No newline at end of file