diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml
index 6889804a..864c0048 100644
--- a/Models/FlightDeck/a320.flightdeck.xml
+++ b/Models/FlightDeck/a320.flightdeck.xml
@@ -6453,16 +6453,10 @@
controls/switches/annun-test
1
-
-
- instrumentation/pfd/lights/autoland-armed
- 1
-
-
- instrumentation/pfd/lights/autoland-on
- 1
-
-
+
+ instrumentation/pfd/lights/autoland-on
+ 1
+
diff --git a/Models/Instruments/PFD/PFD.nas b/Models/Instruments/PFD/PFD.nas
index 956e118a..31b3e4cd 100644
--- a/Models/Instruments/PFD/PFD.nas
+++ b/Models/Instruments/PFD/PFD.nas
@@ -164,8 +164,9 @@ var amberFlash1 = props.globals.initNode("/instrumentation/pfd/flash-indicators/
var amberFlash2 = props.globals.initNode("/instrumentation/pfd/flash-indicators/amber-flash-2", 0, "BOOL");
var dhFlash = props.globals.initNode("/instrumentation/pfd/flash-indicators/dh-flash", 0, "BOOL");
-var light_autoland_armed = props.globals.initNode("/instrumentation/pfd/lights/autoland-armed", 0, "BOOL");
-var light_autoland_on = props.globals.initNode("/instrumentation/pfd/lights/autoland-on", 0, "BOOL");
+var autoland_alarm = props.globals.initNode("/instrumentation/pfd/logic/autoland/autoland-alarm", 0, "BOOL");
+var autoland_pulse = props.globals.initNode("/instrumentation/pfd/logic/autoland/autoland-sw-pulse", 0, "BOOL");
+var autoland_pitch_land = props.globals.initNode("/instrumentation/pfd/logic/autoland/pitch-land", 0, "BOOL");
var canvas_PFD_base = {
init: func(canvas_group, file) {
@@ -2967,3 +2968,29 @@ var dhTimer = maketimer(0.50, func {
dh_count = dh_count + 1;
}
});
+
+var autolandTimer = maketimer(0.5, func {
+ if (autoland_pulse.getBoolValue()) {
+ autoland_pulse.setBoolValue(0);
+ } else {
+ autoland_pulse.setBoolValue(1);
+ }
+});
+
+setlistener(autoland_alarm, func(alarm) {
+ if (alarm.getBoolValue()) {
+ autoland_pulse.setBoolValue(1);
+ autolandTimer.start();
+ } else {
+ autolandTimer.stop();
+ autoland_pulse.setBoolValue(0);
+ }
+}, 0, 0);
+
+setlistener(pitch_mode, func(pitch) {
+ if (pitch.getValue() == "LAND") {
+ autoland_pitch_land.setBoolValue(1);
+ } else {
+ autoland_pitch_land.setBoolValue(0);
+ }
+},0,0);
diff --git a/Sounds/A320-common-sound.xml b/Sounds/A320-common-sound.xml
index 0aa719b1..4f7f6001 100644
--- a/Sounds/A320-common-sound.xml
+++ b/Sounds/A320-common-sound.xml
@@ -1009,6 +1009,22 @@
40.0
+
+
+ autolandwarning-single
+ once
+ Aircraft/A320-family/Sounds/Cockpit/calvary-charge-once.wav
+
+
+ /instrumentation/pfd/logic/autoland/autoland-alarm
+ 1
+
+
+
+ /sim/current-view/internal
+ 40.0
+
+
gear0
diff --git a/Systems/a320-fwc.xml b/Systems/a320-fwc.xml
index b1f53ffa..3629040f 100644
--- a/Systems/a320-fwc.xml
+++ b/Systems/a320-fwc.xml
@@ -2301,26 +2301,32 @@
-
-
-
-
-
- /modes/pfd/ILS1 eq 1
- /instrumentation/radar-altimeter[0]/radar-altitude-ft-corrected le 200
-
-
- /modes/pfd/ILS2 eq 1
- /instrumentation/radar-altimeter[1]/radar-altitude-ft-corrected le 200
-
-
-
-
-
-
+
- /instrumentation/pfd/lights/autoland-armed eq 1
+
+ /systems/electrical/bus/ac-2 ge 110
+ /systems/electrical/bus/ac-ess-shed ge 110
+
+
+
+ /modes/pfd/ILS1 eq 1
+ /instrumentation/radar-altimeter[0]/radar-altitude-ft-corrected lt 200
+
+
+ /modes/pfd/ILS2 eq 1
+ /instrumentation/radar-altimeter[1]/radar-altitude-ft-corrected lt 200
+
+
+
+
+
+
+
+
+ /instrumentation/pfd/logic/autoland/autoland-armed eq 1
+
+ /instrumentation/pfd/logic/autoland/pitch-land eq 1
/it-autoflight/output/ap1 eq 0
@@ -2335,6 +2341,21 @@
+
+
+
+
+ /instrumentation/pfd/logic/autoland/autoland-alarm eq 1
+ /instrumentation/pfd/logic/autoland/autoland-sw-pulse eq 1
+
+
+ /instrumentation/pfd/logic/autoland/autoland-alarm eq 1
+ /it-autoflight/output/ap-warning ge 1
+ /ECAM/warnings/master-warning-flash eq 1
+
+
+
+