From 200bcfb9f77492d4f2a476fe491b4e8280561653 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sat, 2 Nov 2019 14:52:06 +0000 Subject: [PATCH 01/11] ADIRS: begin reimplementing, stall warning and overspeed in progress --- A320-200-CFM.xml | 1 + A320-main.xml | 38 ++ Nasal/ADIRS/ADR.nas | 140 ++++++ Nasal/ECAM/ECAM-controller.nas | 34 +- Nasal/ECAM/ECAM-logic.nas | 47 +- Nasal/ECAM/ECAM-messages.nas | 6 + Nasal/FMGC.nas | 12 +- Nasal/libraries.nas | 2 + Nasal/property-tree-setup.nas | 7 + Sounds/A320-common-sound.xml | 20 +- Sounds/Cockpit/cricket.wav | Bin 21404 -> 21404 bytes Sounds/Cockpit/stall_voice.wav | Bin 76044 -> 76044 bytes Systems/a320-adr.xml | 809 +++++++++++++++++++++++++++++++++ Systems/instrumentation.xml | 56 ++- Systems/pitot-static.xml | 57 +++ 15 files changed, 1207 insertions(+), 22 deletions(-) create mode 100644 Nasal/ADIRS/ADR.nas create mode 100644 Systems/a320-adr.xml create mode 100644 Systems/pitot-static.xml diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml index 7a2c7d03..967029f1 100644 --- a/A320-200-CFM.xml +++ b/A320-200-CFM.xml @@ -136,6 +136,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-main.xml b/A320-main.xml index bf761eb0..cc18e63d 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -139,6 +139,7 @@ Aircraft/A320-family/Systems/a320-lights-proprules.xml + Aircraft/A320-family/Systems/pitot-static.xml @@ -922,6 +923,22 @@ 0 0 + + + 1 + + + + 1 + + + + 1 + + + + 1 + @@ -936,6 +953,26 @@ + + true + + + + true + + + + true + + + + true + + + + true + + 0 0 @@ -1605,6 +1642,7 @@ Aircraft/A320-family/Nasal/fuel.nas Aircraft/A320-family/Nasal/engines-common.nas Aircraft/A320-family/Nasal/ADIRS.nas + Aircraft/A320-family/Nasal/ADIRS/ADR.nas Aircraft/A320-family/Nasal/fire.nas Aircraft/A320-family/Nasal/brakes.nas Aircraft/A320-family/Nasal/ground_services.nas diff --git a/Nasal/ADIRS/ADR.nas b/Nasal/ADIRS/ADR.nas new file mode 100644 index 00000000..a8182c8c --- /dev/null +++ b/Nasal/ADIRS/ADR.nas @@ -0,0 +1,140 @@ +# A3XX ADIRS System +# Jonathan Redpath (legoboyvdlp) + +# Copyright (c) 2019 Jonathan Redpath (legoboyvdlp) + +var _NUMADIRU = 3; + +var ADR = { + outputDisc: 0, # 0 = disc, 1 = normal + mode: 0, # 0 = off, 1 = nav, 2 = att + energised: 0, # 0 = off, 1 = on + input: [], + new: func() { + var adr = { parents:[ADR] }; + return adr; + }, + updateEnergized: func(mode) { + me.energized = mode != 0 ? 1 : 0; + }, +}; + +var IR = { + outputDisc: 0, # 0 = disc, 1 = normal + mode: 0, # 0 = off, 1 = nav, 2 = att + energised: 0, # 0 = off, 1 = on + input: [], + new: func() { + var ir = { parents:[IR] }; + return ir; + }, + updateEnergized: func(mode) { + me.energized = mode != 0 ? 1 : 0; + }, +}; + +var ADIRSControlPanel = { + # local vars + _adrSwitchState: 0, + _irSwitchState: 0, + _irModeSwitchState: 0, + + # ADIRS Units + ADRunits: [nil, nil, nil], + IRunits: [nil, nil, nil], + + # PTS + Switches: { + adrSw: [props.globals.getNode("/controls/navigation/adirscp/switches/adr-1"), props.globals.getNode("/controls/navigation/adirscp/switches/adr-2"), props.globals.getNode("/controls/navigation/adirscp/switches/adr-3")], + irModeSw: [props.globals.getNode("/controls/navigation/adirscp/switches/ir-1-mode"), props.globals.getNode("/controls/navigation/adirscp/switches/ir-2-mode"), props.globals.getNode("/controls/navigation/adirscp/switches/ir-3-mode")], + irSw: [props.globals.getNode("/controls/navigation/adirscp/switches/ir-1"), props.globals.getNode("/controls/navigation/adirscp/switches/ir-2"), props.globals.getNode("/controls/navigation/adirscp/switches/ir-3")], + }, + Lights: { + adrFault: [props.globals.getNode("/controls/navigation/adirscp/lights/adr-1-fault"), props.globals.getNode("/controls/navigation/adirscp/lights/adr-2-fault"), props.globals.getNode("/controls/navigation/adirscp/lights/adr-3-fault")], + adrOff: [props.globals.getNode("/controls/navigation/adirscp/lights/adr-1-off"), props.globals.getNode("/controls/navigation/adirscp/lights/adr-2-off"), props.globals.getNode("/controls/navigation/adirscp/lights/adr-3-off")], + irFault: [props.globals.getNode("/controls/navigation/adirscp/lights/ir-1-fault"), props.globals.getNode("/controls/navigation/adirscp/lights/ir-2-fault"), props.globals.getNode("/controls/navigation/adirscp/lights/ir-3-fault")], + irOff: [props.globals.getNode("/controls/navigation/adirscp/lights/ir-1-off"), props.globals.getNode("/controls/navigation/adirscp/lights/ir-2-off"), props.globals.getNode("/controls/navigation/adirscp/lights/ir-3-off")], + onBat: props.globals.getNode("/controls/navigation/adirscp/lights/on-bat"), + }, + + # Methods + adrSw: func(n) { + if (n < 0 or n > _NUMADIRU) { return; } + me._adrSwitchState = me.Switches.adrSw[n].getValue(); + print("Switching adr unit " ~ n ~ " to " ~ !me._adrSwitchState); + me.Switches.adrSw[n].setValue(!me._adrSwitchState); + if (me.ADRunits[n] != nil) { + me.ADRunits[n].outputDisc = !me._adrSwitchState; + } + }, + adrSw: func(n) { + if (n < 0 or n > _NUMADIRU) { return; } + me._irSwitchState = me.Switches.irSw[n].getValue(); + print("Switching ir unit " ~ n ~ " to " ~ !me._irSwitchState); + me.Switches.irSw[n].setValue(!me._irSwitchState); + if (me.IRunits[n] != nil) { + me.IRunits[n].outputDisc = !me._irSwitchState; + } + }, + irModeSw: func(n, mode) { + if (mode < 0 or mode > 2) { return; } + me._irModeSwitchState = me.Switches.irModeSw[n].getValue(); + print("Switching adirs " ~ n ~ " to mode " ~ mode); + if (me.ADRunits[n] != nil) { + me.ADRunits[n].mode = mode; + me.ADRunits[n].updateEnergized(mode); + } + if (me.IRunits[n] != nil) { + me.IRunits[n].mode = mode; + me.IRunits[n].updateEnergized(mode); + } + } +}; + +var SwitchingPanel = { + Switches: { + attHdg: props.globals.getNode("/controls/navigation/switching/att-hdg"), + airData: props.globals.getNode("/controls/navigation/switching/air-data"), + }, +}; + + +var ADIRSnew = { + _flapPos: nil, + _slatPos: nil, + overspeedVFE: props.globals.initNode("/systems/navigation/adr/computation/overspeed-vfe-spd", 0, "INT"), + init: func() { + for (i = 0; i < _NUMADIRU; i = i + 1) { + print("Creating new ADR unit " ~ i); + ADIRSControlPanel.ADRunits[i] = ADR.new(); + } + }, + update_items: [ + props.UpdateManager.FromPropertyHashList(["/fdm/jsbsim/fcs/flap-pos-deg","/fdm/jsbsim/fcs/slat-pos-deg"], 0.1, func(notification) + { + me._flapPos = pts.JSBSIM.FCS.flapDeg.getValue(); + me._slatPos = pts.JSBSIM.FCS.slatDeg.getValue(); + + if (me._flapPos >= 23 and me._slatPos >= 25) { + ADIRSnew.overspeedVFE.setValue(181); + } elsif (me._flapPos >= 18) { + ADIRSnew.overspeedVFE.setValue(189); + } elsif (me._flapPos >= 13 or me._slatPos > 20) { + ADIRSnew.overspeedVFE.setValue(204); + } elsif (me._slatPos <= 20 and me._flapPos > 2) { + ADIRSnew.overspeedVFE.setValue(219); + } elsif (me._slatPos >= 2 and me._slatPos <= 20) { + ADIRSnew.overspeedVFE.setValue(234); + } else { + ADIRSnew.overspeedVFE.setValue(1024); + } + } + ), + ], + loop: func() { + notification = nil; + foreach (var update_item; me.update_items) { + update_item.update(notification); + } + }, +}; diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index a5cdec2c..fec4767d 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -18,7 +18,7 @@ var overflow = props.globals.initNode("/ECAM/warnings/overflow", 0, "BOOL"); var dc_ess = props.globals.getNode("/systems/electrical/bus/dc-ess", 1); var lights = [props.globals.initNode("/ECAM/warnings/master-warning-light", 0, "BOOL"), props.globals.initNode("/ECAM/warnings/master-caution-light", 0, "BOOL")]; -var aural = [props.globals.initNode("/sim/sound/warnings/crc", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/chime", 0, "BOOL")]; +var aural = [props.globals.initNode("/sim/sound/warnings/crc", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/chime", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/cricket", 0, "BOOL")]; var warningFlash = props.globals.initNode("/ECAM/warnings/master-warning-flash", 0, "BOOL"); var lineIndex = 0; @@ -46,6 +46,7 @@ var warning = { t.sdPage = sdPage; t.isMemo = isMemo; t.hasCalled = 0; + t.wasActive = 0; return t }, @@ -68,19 +69,29 @@ var warning = { } }, warnlight: func() { - if (me.light > 1 or me.noRepeat == 1 or me.active == 0) {return;} - lights[me.light].setBoolValue(1); - me.noRepeat = 1; + if (me.light > 1 or me.noRepeat == 1 or (me.active == 0 and me.wasActive == 0)) {return;} + if (me.active == 1) { + lights[me.light].setBoolValue(1); + me.noRepeat = 1; + } elsif (me.wasActive) { + lights[me.light].setBoolValue(0); + me.wasActive = 0; + } }, sound: func() { - if (me.aural > 1 or me.noRepeat2 == 1 or me.active == 0) {return;} - if (me.aural != 0) { + if (me.aural > 2 or me.noRepeat2 == 1 or (me.active == 0 and me.wasActive == 0)) {return;} + if (me.active == 1) { + if (me.aural != 0) { + aural[me.aural].setBoolValue(0); + } + me.noRepeat2 = 1; + settimer(func() { + aural[me.aural].setBoolValue(1); + }, 0.15); + } elsif (me.wasActive) { aural[me.aural].setBoolValue(0); + me.wasActive = 0; } - me.noRepeat2 = 1; - settimer(func() { - aural[me.aural].setBoolValue(1); - }, 0.15); }, callPage: func() { if (me.sdPage == "nil" or me.hasCalled == 1) { return; } @@ -320,6 +331,9 @@ var ECAM_controller = { warning.active = 0; warning.noRepeat = 0; warning.noRepeat2 = 0; + if (warning.aural == 2) { + aural[2].setValue(0); + } }, }; diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index bf44e4c9..3f8f9260 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -22,6 +22,7 @@ var apu_bleedSw = props.globals.getNode("/controls/pneumatic/switches/bleedapu var gear = props.globals.getNode("/gear/gear-pos-norm", 1); var cutoff1 = props.globals.getNode("/controls/engines/engine[0]/cutoff-switch", 1); var cutoff2 = props.globals.getNode("/controls/engines/engine[1]/cutoff-switch", 1); +var stallVoice = props.globals.initNode("/sim/sound/warnings/stall-voice", 0, "BOOL"); var engOpt = props.globals.getNode("/options/eng", 1); # local variables @@ -29,11 +30,53 @@ var phaseVar = nil; var dualFailFACActive = 1; var emerConfigFACActive = 1; var gear_agl_cur = nil; - var messages_priority_3 = func { phaseVar = phaseNode.getValue(); - # FCTL + # Stall + # todo - altn law and emer cancel flipflops page 2440 + if (phaseVar >= 5 and phaseVar <= 7 and (getprop("/fdm/jsbsim/fcs/slat-pos-deg") <= 15 and (getprop("/systems/navigation/adr/output/aoa-1") > 15 or getprop("/systems/navigation/adr/output/aoa-2") > 15 or getprop("/systems/navigation/adr/output/aoa-3") > 15)) or (getprop("/fdm/jsbsim/fcs/slat-pos-deg") > 15 and (getprop("/systems/navigation/adr/output/aoa-1") > 23 or getprop("/systems/navigation/adr/output/aoa-2") > 23 or getprop("/systems/navigation/adr/output/aoa-3") > 23))) { + stall.active = 1; + } else { + ECAM_controller.warningReset(stall); + } + + if (stall.active) { + stallVoice.setValue(1); + } else { + stallVoice.setValue(0); + } + + if ((phaseVar == 1 or (phaseVar >= 5 and phaseVar <= 7)) and getprop("/systems/navigation/adr/output/overspeed")) { + overspeed.active = 1; + if (getprop("/systems/navigation/adr/computation/overspeed-vmo") or getprop("/systems/navigation/adr/computation/overspeed-mmo")) { + overspeedVMO.active = 1; + } else { + ECAM_controller.warningReset(overspeedVMO); + } + + if (getprop("/systems/navigation/adr/computation/overspeed-vle")) { + overspeedGear.active = 1; + } else { + ECAM_controller.warningReset(overspeedGear); + } + + if (getprop("/systems/navigation/adr/computation/overspeed-vfe")) { + overspeedFlap.active = 1; + overspeedFlap.msg = "-VFE................" ~ (systems.ADIRSnew.overspeedVFE.getValue() - 4); + } else { + ECAM_controller.warningReset(overspeedGear); + overspeedFlap.msg = "-VFE................XXX"; + } + } else { + ECAM_controller.warningReset(overspeed); + ECAM_controller.warningReset(overspeedVMO); + ECAM_controller.warningReset(overspeedGear); + ECAM_controller.warningReset(overspeedFlap); + overspeedFlap.msg = "-VFE................XXX"; + } + + # FCTL FLAPS NOT ZERO if ((flap_not_zero.clearFlag == 0) and phaseVar == 6 and getprop("/controls/flight/flap-lever") != 0 and getprop("/instrumentation/altimeter/indicated-altitude-ft") > 22000) { flap_not_zero.active = 1; } else { diff --git a/Nasal/ECAM/ECAM-messages.nas b/Nasal/ECAM/ECAM-messages.nas index 5f69f8cf..126ba6e6 100644 --- a/Nasal/ECAM/ECAM-messages.nas +++ b/Nasal/ECAM/ECAM-messages.nas @@ -10,8 +10,14 @@ # Left E/WD var warnings = std.Vector.new([ + var stall = warning.new(msg: "", aural: 2), var flap_not_zero = warning.new(msg: "F/CTL FLAP LVR NOT ZERO", colour: "r", aural: 0, light: 0), + var overspeed = warning.new(msg: "OVER SPEED", colour: "r", aural: 0, light: 0, hasSubmsg: 1), + var overspeedVMO = warning.new(msg: "-VMO/MMO.......350 /.82", colour: "r"), + var overspeedGear = warning.new(msg: "-VLE...........280 /.67", colour: "r"), + var overspeedFlap = warning.new(msg: "-VFE................XXX", colour: "r"), + # DUAL ENG FAIL var dualFail = warning.new(msg: "ENG DUAL FAILURE", colour: "r", aural: 0, light: 0, hasSubmsg: 1), var dualFailModeSel = warning.new(msg: " -ENG MODE SEL.......IGN", colour: "c"), diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 147478d6..8b983ef8 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -264,24 +264,24 @@ var masterFMGC = maketimer(0.2, func { reset_FMGC(); } + if (getprop("/systems/navigation/adr/computation/overspeed-vfe-spd") != 1024) { + setprop("/FMGC/internal/maxspeed", getprop("/systems/navigation/adr/computation/overspeed-vfe-spd") - 4); + } else { + setprop("/FMGC/internal/maxspeed", getprop("/it-fbw/speeds/vmo-mmo")); + } + flap = getprop("/controls/flight/flap-pos"); if (flap == 0) { # 0 - setprop("/FMGC/internal/maxspeed", getprop("/it-fbw/speeds/vmo-mmo")); setprop("/FMGC/internal/minspeed", 202); } else if (flap == 1) { # 1 - setprop("/FMGC/internal/maxspeed", 230); setprop("/FMGC/internal/minspeed", 184); } else if (flap == 2) { # 1+F - setprop("/FMGC/internal/maxspeed", 215); setprop("/FMGC/internal/minspeed", 171); } else if (flap == 3) { # 2 - setprop("/FMGC/internal/maxspeed", 200); setprop("/FMGC/internal/minspeed", 156); } else if (flap == 4) { # 3 - setprop("/FMGC/internal/maxspeed", 185); setprop("/FMGC/internal/minspeed", 147); } else if (flap == 5) { # FULL - setprop("/FMGC/internal/maxspeed", 177); setprop("/FMGC/internal/minspeed", 131); } diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas index 9158ec43..b61a1f69 100644 --- a/Nasal/libraries.nas +++ b/Nasal/libraries.nas @@ -200,6 +200,7 @@ var systemsInit = func { systems.HYD.init(); systems.FUEL.init(); systems.ADIRS.init(); + systems.ADIRSnew.init(); systems.eng_init(); systems.fire_init(); systems.autobrake_init(); @@ -231,6 +232,7 @@ var systemsLoop = maketimer(0.1, func { systems.HYD.loop(); systems.FUEL.loop(); systems.ADIRS.loop(); + systems.ADIRSnew.loop(); libraries.ECAM.loop(); libraries.BUTTONS.update(); fadec.FADEC.loop(); diff --git a/Nasal/property-tree-setup.nas b/Nasal/property-tree-setup.nas index bfd30e9c..4ee7b847 100644 --- a/Nasal/property-tree-setup.nas +++ b/Nasal/property-tree-setup.nas @@ -47,6 +47,13 @@ var Instrumentation = { }, }; +var JSBSIM = { + FCS: { + flapDeg: props.globals.getNode("/fdm/jsbsim/fcs/flap-pos-deg"), + slatDeg: props.globals.getNode("/fdm/jsbsim/fcs/slat-pos-deg"), + }, +}; + var Options = { eng: props.globals.getNode("/options/eng"), }; diff --git a/Sounds/A320-common-sound.xml b/Sounds/A320-common-sound.xml index c31ba0a2..53846b25 100644 --- a/Sounds/A320-common-sound.xml +++ b/Sounds/A320-common-sound.xml @@ -1581,14 +1581,32 @@ 100 + + Cricket + Aircraft/A320-family/Sounds/Cockpit/cricket.wav + looped + avionics + + /sim/sound/warnings/cricket + + + 0.2 + + 10 + 100 + + stall-voice looped Aircraft/A320-family/Sounds/Cockpit/stall_voice.wav avionics - warnings/stall/active + /sim/sound/warnings/stall-voice + + 2.0 + 10 100.0 diff --git a/Sounds/Cockpit/cricket.wav b/Sounds/Cockpit/cricket.wav index 0e23005a433be1a17dbd59f524d3486a64929215..64f8b879029a738debe987b7b9fc00cbc36f5756 100644 GIT binary patch literal 21404 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 literal 21404 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 I{1+|%10$)4`v3p{ diff --git a/Sounds/Cockpit/stall_voice.wav b/Sounds/Cockpit/stall_voice.wav index ff066513d69a269d8f033ae19b478149fa39cefa..8d7ae005947d52f80dc6b72eb1c55b049ee8e72f 100644 GIT binary patch literal 76044 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%0DU} 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 Q21qSw%X^jta=qUF1H7i8&j0`b diff --git a/Systems/a320-adr.xml b/Systems/a320-adr.xml new file mode 100644 index 00000000..809dce00 --- /dev/null +++ b/Systems/a320-adr.xml @@ -0,0 +1,809 @@ + + + + + + + + + + /systems/pitot[0]/measured-total-pressure-inhg + + + + /systems/pitot[1]/measured-total-pressure-inhg + + + + /systems/pitot[2]/measured-total-pressure-inhg + + + + /systems/static[0]/pressure-inhg + + + + /systems/static[1]/pressure-inhg + + + + /systems/static[2]/pressure-inhg + + + + + + + + /environment/temperature-degc + 273.15 + + + 1 + + 0.2 + 0.995 + + velocities/mach + 2 + + + + + 273.15 + + + + + + + + + + /environment/temperature-degc + 273.15 + + + 1 + + 0.2 + 0.996 + + velocities/mach + 2 + + + + + 273.15 + + + + + + /systems/navigation/probes/tat-1/compute-tat + + 11 + -256 + 256 + + + + + /systems/navigation/probes/tat-2/compute-tat + + 11 + -256 + 256 + + + + + aero/alpha-deg + + 12 + -180 + 180 + + + + + aero/alpha-deg + + 12 + -180 + 180 + + + + + aero/alpha-deg + + 12 + -180 + 180 + + + + + + + + + /instrumentation/altimeter[0]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[1]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[2]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[3]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[4]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[5]/pressure-alt-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[0]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[1]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[2]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[3]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[4]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + /instrumentation/altimeter[5]/indicated-altitude-ft + + 17 + -65536 + 65536 + + + + + + + 661.47 + + + 5 + + + + + + /systems/navigation/probes/pitot-1 + /systems/navigation/probes/static-1 + + 29.9212553 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + + + + 661.47 + + + 5 + + + + + + /systems/navigation/probes/pitot-2 + /systems/navigation/probes/static-2 + + 29.9212553 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + + + 661.47 + + + 5 + + + + + + /systems/navigation/probes/pitot-3 + /systems/navigation/probes/static-3 + + 29.9212553 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + + /systems/navigation/adr/computation/cas-1-compute + + 14 + 0 + 1024 + + + + + /systems/navigation/adr/computation/cas-2-compute + + 14 + 0 + 1024 + + + + + /systems/navigation/adr/computation/cas-3-compute + + 14 + 0 + 1024 + + + + + + + + 5 + + + + + + /systems/navigation/probes/pitot-1 + /systems/navigation/probes/static-1 + + /systems/navigation/probes/static-1 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + + + + 5 + + + + + + /systems/navigation/probes/pitot-2 + /systems/navigation/probes/static-2 + + /systems/navigation/probes/static-2 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + + + + 5 + + + + + + /systems/navigation/probes/pitot-3 + /systems/navigation/probes/static-3 + + /systems/navigation/probes/static-3 + + 1 + + + 2 + 7 + + + 1 + + + 0.5 + + + + + + /systems/navigation/adr/computation/mach-1-compute + + 16 + 0 + 4.096 + + + + + /systems/navigation/adr/computation/mach-2-compute + + 16 + 0 + 4.096 + + + + + /systems/navigation/adr/computation/mach-3-compute + + 16 + 0 + 4.096 + + + + + + + /systems/navigation/probes/tat-1/tat + + + /velocities/TAS + 2 + + 7569 + + + + + + + /environment/temperature-degc + + 11 + -256 + 256 + + + + + /environment/temperature-degc + + 11 + -256 + 256 + + + + + + + 661.47 + /systems/navigation/adr/computation/mach-1 + + + + /systems/navigation/adr/computation/sat-1 + 273.15 + + 288.15 + + 0.5 + + + + + + + + + 661.47 + /systems/navigation/adr/computation/mach-2 + + + + /systems/navigation/adr/computation/sat-2 + 273.15 + + 288.15 + + 0.5 + + + + + + + + + 661.47 + /systems/navigation/adr/computation/mach-3 + + + + /systems/navigation/adr/computation/sat-1 + 273.15 + + 288.15 + + 0.5 + + + + + + + /systems/navigation/adr/computation/tas-1-compute + + 15 + 0 + 2048 + + + + + /systems/navigation/adr/computation/tas-2-compute + + 15 + 0 + 2048 + + + + + /systems/navigation/adr/computation/tas-3-compute + + 15 + 0 + 2048 + + + + + + + + + /systems/navigation/adr/output/cas-1 + /systems/navigation/adr/output/cas-2 + /systems/navigation/adr/output/cas-3 + + 354 + + 1 + 0 + + + + + + + + + + /systems/navigation/adr/output/mach-1 + /systems/navigation/adr/output/mach-2 + /systems/navigation/adr/output/mach-3 + + 0.826 + + 1 + 0 + + + + + + + + /systems/navigation/adr/computation/overspeed-vle-speed eq 1 + + /ECAM/Lower/door-left ne 0 + /ECAM/Lower/door-right ne 0 + /ECAM/Lower/door-nose-left ne 0 + /ECAM/Lower/door-nose-right ne 0 + /gear/gear[0]/position-norm ne 0 + /gear/gear[1]/position-norm ne 0 + /gear/gear[2]/position-norm ne 0 + + + + + + + + + + /systems/navigation/adr/output/cas-1 + /systems/navigation/adr/output/cas-2 + /systems/navigation/adr/output/cas-3 + + 284 + + 1 + 0 + + + + + + + + + + /systems/navigation/adr/output/cas-1 + /systems/navigation/adr/output/cas-2 + /systems/navigation/adr/output/cas-3 + + /systems/navigation/adr/computation/overspeed-vfe-spd + + 1 + 0 + + + + + + + + + + /systems/navigation/probes/aoa-1 + 1 + + + + /systems/navigation/probes/aoa-2 + 1 + + + + /systems/navigation/probes/aoa-3 + 1 + + + + /systems/navigation/adr/computation/baro-alt-1-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-2-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-3-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-1-fo + 1 + + + + /systems/navigation/adr/computation/baro-alt-2-fo + 1 + + + + /systems/navigation/adr/computation/baro-alt-3-fo + 1 + + + + /systems/navigation/adr/computation/cas-1 + 1 + + + + /systems/navigation/adr/computation/cas-2 + 1 + + + + /systems/navigation/adr/computation/cas-3 + 1 + + + + /systems/navigation/adr/computation/mach-1 + 1 + + + + /systems/navigation/adr/computation/mach-2 + 1 + + + + /systems/navigation/adr/computation/mach-3 + 1 + + + + /systems/navigation/adr/computation/sat-1 + 1 + + + + /systems/navigation/adr/computation/sat-2 + 1 + + + + /systems/navigation/adr/computation/tas-1 + 1 + + + + /systems/navigation/adr/computation/tas-2 + 1 + + + + /systems/navigation/adr/computation/tas-3 + 1 + + + + /systems/navigation/probes/tat-1/tat + 1 + + + + /systems/navigation/probes/tat-2/tat + 1 + + + + + + /systems/navigation/adr/computation/overspeed-vmo + /systems/navigation/adr/computation/overspeed-mmo + /systems/navigation/adr/computation/overspeed-vle + /systems/navigation/adr/computation/overspeed-vfe + + + + + + diff --git a/Systems/instrumentation.xml b/Systems/instrumentation.xml index 4ec00124..0b817e04 100644 --- a/Systems/instrumentation.xml +++ b/Systems/instrumentation.xml @@ -26,9 +26,59 @@ altimeter 0 - /systems/static/pressure-inhg - 0 - 0 + /systems/static[0]/pressure-inhg + 1 + 0.1 + 1 + 1 + + + + altimeter + 1 + /systems/static[1]/pressure-inhg + 1 + 0.1 + 1 + 1 + + + + altimeter + 2 + /systems/static[2]/pressure-inhg + 1 + 0.1 + 1 + 1 + + + + altimeter + 3 + /systems/static[0]/pressure-inhg + 1 + 0.1 + 1 + 1 + + + + altimeter + 4 + /systems/static[1]/pressure-inhg + 1 + 0.1 + 1 + 1 + + + + altimeter + 5 + /systems/static[2]/pressure-inhg + 1 + 0.1 1 1 diff --git a/Systems/pitot-static.xml b/Systems/pitot-static.xml new file mode 100644 index 00000000..8ef146ee --- /dev/null +++ b/Systems/pitot-static.xml @@ -0,0 +1,57 @@ + + + + + pitot + 0 + + + + pitot + 1 + + + + pitot + 2 + + + + static + 0 + 0.7 + 1 + 0.43 + + + + static + 1 + 0.7 + 1 + 0.42 + + + + static + 2 + 0.7 + 1 + 0.45 + + + + vacuum + 0 + /engines/engine[0]/rpm + 1.0 + + + + vacuum + 1 + /engines/engine[1]/rpm + 1.0 + + + From 3512793a8e65ce0b5eeb2084e9c872e0459a7ee5 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sat, 2 Nov 2019 15:17:05 +0000 Subject: [PATCH 02/11] Fix flap degrees for IAE --- Nasal/libraries.nas | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas index b61a1f69..86ca196f 100644 --- a/Nasal/libraries.nas +++ b/Nasal/libraries.nas @@ -326,8 +326,8 @@ controls.flapsDown = func(step) { if (step == 1) { if (getprop("/controls/flight/flap-lever") == 0) { if (getprop("/velocities/airspeed-kt") <= 100) { - setprop("/controls/flight/flaps", 0.290); - setprop("/controls/flight/slats", 0.666); + setprop("/controls/flight/flaps", 0.2857); + setprop("/controls/flight/slats", 0.6666); setprop("/controls/flight/flap-lever", 1); setprop("/controls/flight/flap-pos", 2); setprop("/controls/flight/flap-txt", "1+F"); @@ -335,7 +335,7 @@ controls.flapsDown = func(step) { return; } else { setprop("/controls/flight/flaps", 0.000); - setprop("/controls/flight/slats", 0.666); + setprop("/controls/flight/slats", 0.6666); setprop("/controls/flight/flap-lever", 1); setprop("/controls/flight/flap-pos", 1); setprop("/controls/flight/flap-txt", "1"); @@ -343,16 +343,16 @@ controls.flapsDown = func(step) { return; } } else if (getprop("/controls/flight/flap-lever") == 1) { - setprop("/controls/flight/flaps", 0.596); - setprop("/controls/flight/slats", 0.814); + setprop("/controls/flight/flaps", 0.4286); + setprop("/controls/flight/slats", 0.8148); setprop("/controls/flight/flap-lever", 2); setprop("/controls/flight/flap-pos", 3); setprop("/controls/flight/flap-txt", "2"); flaptimer.stop(); return; } else if (getprop("/controls/flight/flap-lever") == 2) { - setprop("/controls/flight/flaps", 0.645); - setprop("/controls/flight/slats", 0.814); + setprop("/controls/flight/flaps", 0.5714); + setprop("/controls/flight/slats", 0.8148); setprop("/controls/flight/flap-lever", 3); setprop("/controls/flight/flap-pos", 4); setprop("/controls/flight/flap-txt", "3"); @@ -369,16 +369,16 @@ controls.flapsDown = func(step) { } } else if (step == -1) { if (getprop("/controls/flight/flap-lever") == 4) { - setprop("/controls/flight/flaps", 0.645); - setprop("/controls/flight/slats", 0.814); + setprop("/controls/flight/flaps", 0.5714); + setprop("/controls/flight/slats", 0.8148); setprop("/controls/flight/flap-lever", 3); setprop("/controls/flight/flap-pos", 4); setprop("/controls/flight/flap-txt", "3"); flaptimer.stop(); return; } else if (getprop("/controls/flight/flap-lever") == 3) { - setprop("/controls/flight/flaps", 0.596); - setprop("/controls/flight/slats", 0.814); + setprop("/controls/flight/flaps", 0.4286); + setprop("/controls/flight/slats", 0.8148); setprop("/controls/flight/flap-lever", 2); setprop("/controls/flight/flap-pos", 3); setprop("/controls/flight/flap-txt", "2"); @@ -386,8 +386,8 @@ controls.flapsDown = func(step) { return; } else if (getprop("/controls/flight/flap-lever") == 2) { if (getprop("/velocities/airspeed-kt") <= 100) { - setprop("/controls/flight/flaps", 0.290); - setprop("/controls/flight/slats", 0.666); + setprop("/controls/flight/flaps", 0.2857); + setprop("/controls/flight/slats", 0.6666); setprop("/controls/flight/flap-lever", 1); setprop("/controls/flight/flap-pos", 2); setprop("/controls/flight/flap-txt", "1+F"); @@ -395,7 +395,7 @@ controls.flapsDown = func(step) { return; } else { setprop("/controls/flight/flaps", 0.000); - setprop("/controls/flight/slats", 0.666); + setprop("/controls/flight/slats", 0.6666); setprop("/controls/flight/flap-lever", 1); setprop("/controls/flight/flap-pos", 1); setprop("/controls/flight/flap-txt", "1"); From 60f2c03a1f1315340a9eb9b909d23f8b543c700c Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sat, 2 Nov 2019 15:17:55 +0000 Subject: [PATCH 03/11] Bugfix overspeed --- Nasal/ECAM/ECAM-logic.nas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index 3f8f9260..d7bce3c2 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -65,7 +65,7 @@ var messages_priority_3 = func { overspeedFlap.active = 1; overspeedFlap.msg = "-VFE................" ~ (systems.ADIRSnew.overspeedVFE.getValue() - 4); } else { - ECAM_controller.warningReset(overspeedGear); + ECAM_controller.warningReset(overspeedFlap); overspeedFlap.msg = "-VFE................XXX"; } } else { From 77120dcf04b9145f54bc6e50d79cbb4f799a3816 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sat, 2 Nov 2019 15:27:01 +0000 Subject: [PATCH 04/11] Cancel warnings when the condition no longer exists --- Nasal/ECAM/ECAM-controller.nas | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index fec4767d..6dca8883 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -52,6 +52,7 @@ var warning = { }, write: func() { if (me.active == 0) { return; } + me.wasActive = 1; lineIndex = 0; while (lineIndex < 7 and lines[lineIndex].getValue() != "") { lineIndex = lineIndex + 1; # go to next line until empty line @@ -74,6 +75,7 @@ var warning = { lights[me.light].setBoolValue(1); me.noRepeat = 1; } elsif (me.wasActive) { + print("Yesssssss"); lights[me.light].setBoolValue(0); me.wasActive = 0; } @@ -89,6 +91,7 @@ var warning = { aural[me.aural].setBoolValue(1); }, 0.15); } elsif (me.wasActive) { + print("Noooooooo"); aural[me.aural].setBoolValue(0); me.wasActive = 0; } From 62c855c56f93d24f3613f9fbc0dfa2b083af2ed0 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Sat, 2 Nov 2019 16:20:08 +0000 Subject: [PATCH 05/11] Bugfix --- Nasal/ECAM/ECAM-controller.nas | 39 +++++++++++++++++++--------------- Systems/a320-adr.xml | 30 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 17 deletions(-) diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index 6dca8883..5e9a7f90 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -70,31 +70,33 @@ var warning = { } }, warnlight: func() { - if (me.light > 1 or me.noRepeat == 1 or (me.active == 0 and me.wasActive == 0)) {return;} - if (me.active == 1) { - lights[me.light].setBoolValue(1); - me.noRepeat = 1; - } elsif (me.wasActive) { - print("Yesssssss"); + if (me.light > 1) { return; } + if (me.active == 0 and me.wasActive == 1) { lights[me.light].setBoolValue(0); me.wasActive = 0; } + + if (me.noRepeat == 1 or me.active == 0) { return; } + + lights[me.light].setBoolValue(1); + me.noRepeat = 1; }, sound: func() { - if (me.aural > 2 or me.noRepeat2 == 1 or (me.active == 0 and me.wasActive == 0)) {return;} - if (me.active == 1) { - if (me.aural != 0) { - aural[me.aural].setBoolValue(0); - } - me.noRepeat2 = 1; - settimer(func() { - aural[me.aural].setBoolValue(1); - }, 0.15); - } elsif (me.wasActive) { - print("Noooooooo"); + if (me.aural > 2) { return; } + if (me.active == 0 and me.wasActive == 1) { aural[me.aural].setBoolValue(0); me.wasActive = 0; } + + if (me.noRepeat2 == 1 or me.active == 0) { return; } + + if (me.aural != 0) { + aural[me.aural].setBoolValue(0); + } + me.noRepeat2 = 1; + settimer(func() { + aural[me.aural].setBoolValue(1); + }, 0.15); }, callPage: func() { if (me.sdPage == "nil" or me.hasCalled == 1) { return; } @@ -207,6 +209,9 @@ var ECAM_controller = { w.warnlight(); w.sound(); counter += 1; + } elsif (w.wasActive == 1) { + w.warnlight(); + w.sound(); } } } diff --git a/Systems/a320-adr.xml b/Systems/a320-adr.xml index 809dce00..da76fd00 100644 --- a/Systems/a320-adr.xml +++ b/Systems/a320-adr.xml @@ -729,6 +729,36 @@ 1 + + /systems/navigation/adr/computation/baro-alt-corrected-1-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-corrected-2-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-corrected-3-capt + 1 + + + + /systems/navigation/adr/computation/baro-alt-corrected-1-fo + 1 + + + + /systems/navigation/adr/computation/baro-alt-corrected-2-fo + 1 + + + + /systems/navigation/adr/computation/baro-alt-corrected-3-fo + 1 + + /systems/navigation/adr/computation/cas-1 1 From b1bfb39c4ab20c463173b09cd0c61e30dd029853 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Mon, 4 Nov 2019 19:20:56 +0000 Subject: [PATCH 06/11] Radar altimeter, ADR / IR panel hooked up --- A320-main.xml | 70 ++++ Models/Instruments/OHpanel/OHpanel.xml | 120 +++--- Nasal/ADIRS/ADR.nas | 276 +++++++++--- Nasal/ADIRS/SwitchingPanel.nas | 11 + Nasal/electrical.nas | 1 + Systems/a320-adr.xml | 556 ++++++++++++++----------- Systems/a320-electrical.xml | 10 +- Systems/instrumentation.xml | 64 ++- 8 files changed, 747 insertions(+), 361 deletions(-) create mode 100644 Nasal/ADIRS/SwitchingPanel.nas diff --git a/A320-main.xml b/A320-main.xml index cc18e63d..033885f4 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -688,6 +688,36 @@ 0 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 @@ -939,6 +969,14 @@ 1 + + + + 0 + 0 + 0 + + @@ -1061,6 +1099,10 @@ 1.0 + + true + +