diff --git a/A320-main.xml b/A320-main.xml
index 54441cba..7021601d 100644
--- a/A320-main.xml
+++ b/A320-main.xml
@@ -314,28 +314,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -379,25 +379,25 @@
Cockpit Crew
-
+
200
440
Passengers
-
+
1500
27000
Forward Cargo
-
+
300
8765
Aft Cargo
-
+
300
8765
@@ -540,7 +540,6 @@
0
0.0
0
- 0
0.0
0
0
@@ -1370,7 +1369,7 @@
property-cycle
- controls/flight/speedbrake
+ /controls/flight/speedbrake
0.0
1.0
@@ -1392,14 +1391,14 @@
property-cycle
- controls/flight/speedbrake
+ /controls/flight/speedbrake
0.0
0.5
1.0
property-assign
- controls/flight/speedbrake-arm
+ /controls/flight/speedbrake-arm
0
diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml
index 9dd871b2..243143a2 100644
--- a/Models/FlightDeck/a320.flightdeck.xml
+++ b/Models/FlightDeck/a320.flightdeck.xml
@@ -4935,9 +4935,8 @@
rotate
SpdBrk
- controls/flight/speedbrake
+ fdm/jsbsim/spoilers/speedbrake-nul
45
-
SpdBrk.axis
diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas
index 28bf90bb..3e7c49dd 100644
--- a/Nasal/libraries.nas
+++ b/Nasal/libraries.nas
@@ -400,6 +400,43 @@ var flaptimer = maketimer(0.5, func {
}
});
+controls.stepSpoilers = func(step) {
+ setprop("/controls/flight/speedbrake-arm", 0);
+ if (step == 1) {
+ deploySpeedbrake();
+ } else if (step == -1) {
+ retractSpeedbrake();
+ }
+}
+
+var deploySpeedbrake = func {
+ if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
+ if (getprop("/controls/flight/speedbrake") < 1.0) {
+ setprop("/controls/flight/speedbrake", 1.0);
+ }
+ } else {
+ if (getprop("/controls/flight/speedbrake") < 0.5) {
+ setprop("/controls/flight/speedbrake", 0.5);
+ } else if (getprop("/controls/flight/speedbrake") < 1.0) {
+ setprop("/controls/flight/speedbrake", 1.0);
+ }
+ }
+}
+
+var retractSpeedbrake = func {
+ if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
+ if (getprop("/controls/flight/speedbrake") > 0.0) {
+ setprop("/controls/flight/speedbrake", 0.0);
+ }
+ } else {
+ if (getprop("/controls/flight/speedbrake") > 0.5) {
+ setprop("/controls/flight/speedbrake", 0.5);
+ } else if (getprop("/controls/flight/speedbrake") > 0.0) {
+ setprop("/controls/flight/speedbrake", 0.0);
+ }
+ }
+}
+
var slewProp = func(prop, delta) {
delta *= getprop("/sim/time/delta-realtime-sec");
setprop(prop, getprop(prop) + delta);
diff --git a/Systems/a320-spoiler.xml b/Systems/a320-spoiler.xml
index fb075409..ae3553d6 100644
--- a/Systems/a320-spoiler.xml
+++ b/Systems/a320-spoiler.xml
@@ -50,7 +50,14 @@
spoilers/throttle[1] ge 0.01
/controls/flight/speedbrake-arm ne 1
-
+
+ spoilers/throttle[0] lt 0.01
+ spoilers/throttle[1] lt 0.01
+ /controls/flight/speedbrake-arm eq 1
+ spoilers/main-gear-and eq 1
+ /velocities/groundspeed-kt ge 72
+
+
spoilers/throttle[0] lt 0.01
spoilers/throttle[1] lt 0.01
/controls/flight/speedbrake-arm eq 1
@@ -96,15 +103,7 @@
-
-
- /systems/hydraulic/green-psi ge 1500
- spoilers/main-gear-and eq 0
-
-
- /systems/hydraulic/green-psi ge 1500
- /systems/failures/spoiler-l1 eq 1
-
+
/systems/hydraulic/green-psi ge 1500
spoilers/main-gear-and eq 1
@@ -194,11 +193,7 @@
-
-
- /systems/hydraulic/yellow-psi ge 1500
- /systems/failures/spoiler-l2 eq 1
-
+
/systems/hydraulic/yellow-psi ge 1500
spoilers/main-gear-and eq 0
@@ -269,11 +264,7 @@
-
-
- /systems/hydraulic/blue-psi ge 1500
- /systems/failures/spoiler-l3 eq 1
-
+
/systems/hydraulic/blue-psi ge 1500
/systems/failures/spoiler-l3 eq 0
@@ -337,11 +328,7 @@
-
-
- /systems/hydraulic/yellow-psi ge 1500
- /systems/failures/spoiler-l4 eq 1
-
+
/systems/hydraulic/yellow-psi ge 1500
/systems/failures/spoiler-l4 eq 0
@@ -405,11 +392,7 @@
-
-
- /systems/hydraulic/green-psi ge 1500
- /systems/failures/spoiler-l5 eq 1
-
+
/systems/hydraulic/green-psi ge 1500
spoilers/main-gear-and eq 1
@@ -447,15 +430,7 @@
-
-
- /systems/hydraulic/green-psi ge 1500
- spoilers/main-gear-and eq 0
-
-
- /systems/hydraulic/green-psi ge 1500
- /systems/failures/spoiler-r1 eq 1
-
+
/systems/hydraulic/green-psi ge 1500
spoilers/main-gear-and eq 1
@@ -545,11 +520,7 @@
-
-
- /systems/hydraulic/yellow-psi ge 1500
- /systems/failures/spoiler-r2 eq 1
-
+
/systems/hydraulic/yellow-psi ge 1500
spoilers/main-gear-and eq 0
@@ -620,11 +591,7 @@
-
-
- /systems/hydraulic/blue-psi ge 1500
- /systems/failures/spoiler-r3 eq 1
-
+
/systems/hydraulic/blue-psi ge 1500
/systems/failures/spoiler-r3 eq 0
@@ -688,11 +655,7 @@
-
-
- /systems/hydraulic/yellow-psi ge 1500
- /systems/failures/spoiler-r4 eq 1
-
+
/systems/hydraulic/yellow-psi ge 1500
spoilers/main-gear-and eq 0
@@ -757,11 +720,7 @@
-
-
- /systems/hydraulic/green-psi ge 1500
- /systems/failures/spoiler-r5 eq 1
-
+
/systems/hydraulic/green-psi ge 1500
spoilers/main-gear-and eq 1
diff --git a/revision.txt b/revision.txt
index e1f7107c..7e6bab41 100644
--- a/revision.txt
+++ b/revision.txt
@@ -1 +1 @@
-4603
\ No newline at end of file
+4606
\ No newline at end of file