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 + + + +