diff --git a/A320-100-CFM.xml b/A320-100-CFM.xml index 7784988c..6e891368 100644 --- a/A320-100-CFM.xml +++ b/A320-100-CFM.xml @@ -212,6 +212,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml index 17855ff5..b66a6a03 100644 --- a/A320-200-CFM.xml +++ b/A320-200-CFM.xml @@ -211,6 +211,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-200-IAE.xml b/A320-200-IAE.xml index 24f5355d..7a5dbb7b 100644 --- a/A320-200-IAE.xml +++ b/A320-200-IAE.xml @@ -211,6 +211,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-main.xml b/A320-main.xml index b8737654..1bebeaaf 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -1058,6 +1058,16 @@ 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1580,6 +1590,7 @@ 0 + diff --git a/A320neo-CFM.xml b/A320neo-CFM.xml index 7570cb46..9c7a9d6e 100644 --- a/A320neo-CFM.xml +++ b/A320neo-CFM.xml @@ -211,6 +211,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320neo-PW.xml b/A320neo-PW.xml index fa07ac97..5acd6825 100644 --- a/A320neo-PW.xml +++ b/A320neo-PW.xml @@ -211,6 +211,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/AircraftConfig/groundservices.xml b/AircraftConfig/groundservices.xml index c92062a9..de0bacd7 100644 --- a/AircraftConfig/groundservices.xml +++ b/AircraftConfig/groundservices.xml @@ -342,6 +342,42 @@ 1 + + + hbox + + true + + + + + + true + + + + + 10 + 200 + + %4.0f litres + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + true + + + diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas index 282d77e9..05607dae 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM-door.nas @@ -26,7 +26,6 @@ var canvas_lowerECAMPageDoor = obj["Cabin3LeftSlide"].hide(); obj["Cabin3RightSlide"].hide(); - obj["DOOROXY-REGUL-LO-PR"].hide(); obj["AvionicsLine1"].hide(); obj["AvionicsLine2"].hide(); obj["AvionicsLbl1"].hide(); @@ -153,16 +152,23 @@ var canvas_lowerECAMPageDoor = obj["Cargo1Line"].hide(); } }), - props.UpdateManager.FromHashValue("oxyPB", nil, func(val) { - if (val) { - obj["DOOROXY-OxyIndicator"].setColor(0.8078,0.8039,0.8078); - obj["DOOROXY-PR"].setColor(0.0509,0.7529,0.2941); - obj["DOOROXY-PR"].setText("1300"); + props.UpdateManager.FromHashList(["oxyPB","oxyBottlePress","oxyBottleRegulLoPr"], nil, func(val) { + if (val.oxyPB) { + if (val.oxyBottlePress < 300 or val.oxyBottleRegulLoPr) { + obj["DOOROXY-OxyIndicator"].setColor(0.7333,0.3803,0); + } else { + obj["DOOROXY-OxyIndicator"].setColor(0.8078,0.8039,0.8078); + } } else { obj["DOOROXY-OxyIndicator"].setColor(0.7333,0.3803,0); - obj["DOOROXY-PR"].setColor(0.7333,0.3803,0); - obj["DOOROXY-PR"].setText("0"); } + + if (val.oxyBottlePress < 300) { + obj["DOOROXY-PR"].setColor(0.7333,0.3803,0); + } else { + obj["DOOROXY-PR"].setColor(0.0509,0.7529,0.2941); + } + obj["DOOROXY-PR"].setText(sprintf("%4.0f", math.round(val.oxyBottlePress, 10))); }), props.UpdateManager.FromHashValue("pressVS", nil, func(val) { if (val > 9950) { @@ -186,6 +192,13 @@ var canvas_lowerECAMPageDoor = obj["DOOR-VS-Container"].hide(); } }), + props.UpdateManager.FromHashValue("oxyBottleRegulLoPr", nil, func(val) { + if (val) { + obj["DOOROXY-REGUL-LO-PR"].show(); + } else { + obj["DOOROXY-REGUL-LO-PR"].hide(); + } + }), ]; obj.displayedGForce = 0; @@ -327,6 +340,8 @@ var input = { cargoBulk: "/sim/model/door-positions/cargobulk/position-norm", cargoFwd: "/sim/model/door-positions/cargofwd/position-norm", oxyPB: "/controls/oxygen/crewOxyPB", + oxyBottlePress: "/systems/oxygen/cockpit-oxygen/bottle-psi", + oxyBottleRegulLoPr: "/systems/oxygen/cockpit-oxygen/regul-lo-pr", }; foreach (var name; keys(input)) { diff --git a/Sounds/Announce/depressurization.wav b/Sounds/Announce/depressurization.wav new file mode 100644 index 00000000..58d163d1 Binary files /dev/null and b/Sounds/Announce/depressurization.wav differ diff --git a/Systems/a320-oxygen.xml b/Systems/a320-oxygen.xml new file mode 100644 index 00000000..5de9b205 --- /dev/null +++ b/Systems/a320-oxygen.xml @@ -0,0 +1,305 @@ + + + + + + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + + + + + + + + + + + /controls/oxygen/crewOxyPB eq 1 + /systems/electrical/bus/dc-ess-shed ge 25 + + + + + /systems/oxygen/cockpit-oxygen/supply-valve-cmd + 10 + + + + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + 15 + + /controls/oxygen/cockpit-mask-1-on + + /systems/pressurization/cabinalt + /controls/oxygen/cockpit-mask-1-selector + + 0 1 + 0 0 29.5 + 5000 0.0 31.0 + 8000 0.17 36.4 + 10000 0.71 36.9 + 15000 5.60 37.9 + 20000 15.9 38.9 + 30000 30.4 39.9 + 35000 40.9 40.9 + 40000 41.9 41.9 + +
+
+
+
+ + + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + 15 + + /controls/oxygen/cockpit-mask-2-on + + /systems/pressurization/cabinalt + /controls/oxygen/cockpit-mask-2-selector + + 0 1 + 0 0 29.5 + 5000 0.0 31.0 + 8000 0.17 36.4 + 10000 0.71 36.9 + 15000 5.60 37.9 + 20000 15.9 38.9 + 30000 30.4 39.9 + 35000 40.9 40.9 + 40000 41.9 41.9 + +
+
+
+
+ + + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + 15 + + /controls/oxygen/cockpit-mask-3-on + + /systems/pressurization/cabinalt + /controls/oxygen/cockpit-mask-3-selector + + 0 1 + 0 0 29.5 + 5000 0.0 31.0 + 8000 0.17 36.4 + 10000 0.71 36.9 + 15000 5.60 37.9 + 20000 15.9 38.9 + 30000 30.4 39.9 + 35000 40.9 40.9 + 40000 41.9 41.9 + +
+
+
+
+ + + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + 15 + + /controls/oxygen/cockpit-mask-4-on + + /systems/pressurization/cabinalt + /controls/oxygen/cockpit-mask-4-selector + + 0 1 + 0 0 29.5 + 5000 0.0 31.0 + 8000 0.17 36.4 + 10000 0.71 36.9 + 15000 5.60 37.9 + 20000 15.9 38.9 + 30000 30.4 39.9 + 35000 40.9 40.9 + 40000 41.9 41.9 + +
+
+
+
+ + + + + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + + + -/systems/oxygen/cockpit-oxygen/hp-regulator-flow-rate + 60 + + simulation/channel-dt + + + + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + + 0.0 + 2183.0 + + + + + + + 58.58145 + + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + 0.4512568 + + + + + + + + + /systems/oxygen/cockpit-oxygen/cockpit-bottle-L + + 0 0 + 500 200 + 1000 275 + 2000 300 + 2183 300 + +
+
+
+ + + + + /systems/oxygen/cockpit-oxygen/supply-valve + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + + 0 300 + 14.5 170 + 15 0 + +
+
+
+
+ + + + + /systems/oxygen/cockpit-oxygen/bottle-flow-rate + /systems/oxygen/cockpit-oxygen/supply-valve + + + + + + + + /systems/oxygen/cockpit-oxygen/mask-1-flow-rate + /systems/oxygen/cockpit-oxygen/mask-2-flow-rate + /systems/oxygen/cockpit-oxygen/mask-3-flow-rate + /systems/oxygen/cockpit-oxygen/mask-4-flow-rate + /systems/oxygen/cockpit-oxygen/distributor-fill-rate + + + + 0.0 + /systems/oxygen/cockpit-oxygen/hp-regulator-flow-rate-calc + + + + + + + + -/systems/oxygen/cockpit-oxygen/mask-1-flow-rate + -/systems/oxygen/cockpit-oxygen/mask-2-flow-rate + -/systems/oxygen/cockpit-oxygen/mask-3-flow-rate + -/systems/oxygen/cockpit-oxygen/mask-4-flow-rate + /systems/oxygen/cockpit-oxygen/hp-regulator-flow-rate + + + + + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-rate + 60 + + simulation/channel-dt + + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + + 0.0 + 15.0 + + + + + + + 75 + + + /systems/oxygen/cockpit-oxygen/distributor-manifold-L + 1 + + + + + + + + + + /systems/oxygen/cockpit-oxygen/distributor-psi lt 50 + + +
+ + + + + + +