Passenger oxygen system
This commit is contained in:
parent
80a299831f
commit
639f68ba36
9 changed files with 111 additions and 97 deletions
|
@ -1059,6 +1059,7 @@
|
|||
</protectors>
|
||||
</OH>
|
||||
<oxygen>
|
||||
<cockpit-oxygen-supply-pb type="bool">0</cockpit-oxygen-supply-pb>
|
||||
<cockpit-mask-1-on type="bool">0</cockpit-mask-1-on>
|
||||
<cockpit-mask-2-on type="bool">0</cockpit-mask-2-on>
|
||||
<cockpit-mask-3-on type="bool">0</cockpit-mask-3-on>
|
||||
|
@ -1067,6 +1068,8 @@
|
|||
<cockpit-mask-2-selector type="bool">0</cockpit-mask-2-selector>
|
||||
<cockpit-mask-3-selector type="bool">0</cockpit-mask-3-selector>
|
||||
<cockpit-mask-4-selector type="bool">0</cockpit-mask-4-selector>
|
||||
<passenger-mask-deploy-man type="bool">0</passenger-mask-deploy-man>
|
||||
<passenger-mask-reset type="bool">0</passenger-mask-reset>
|
||||
</oxygen>
|
||||
<pneumatics n="0">
|
||||
<switches n="0">
|
||||
|
|
|
@ -323,7 +323,7 @@ var beforestart = func {
|
|||
setprop("/controls/flight/elevator-trim", 0);
|
||||
libraries.systemsInit();
|
||||
libraries.variousReset();
|
||||
setprop("/controls/oxygen/crewOxyPB", 1);
|
||||
setprop("/controls/oxygen/cockpit-oxygen-supply-pb", 1);
|
||||
failResetOld();
|
||||
|
||||
# Now the Startup!
|
||||
|
@ -419,7 +419,7 @@ var taxi = func {
|
|||
setprop("/controls/flight/elevator-trim", 0);
|
||||
libraries.systemsInit();
|
||||
libraries.variousReset();
|
||||
setprop("/controls/oxygen/crewOxyPB", 1);
|
||||
setprop("/controls/oxygen/cockpit-oxygen-supply-pb", 1);
|
||||
failResetOld();
|
||||
|
||||
# Now the Startup!
|
||||
|
|
|
@ -378,6 +378,20 @@
|
|||
<value>2183</value>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
<legend>Reset Pax Oxy Masks</legend>
|
||||
<halign>center</halign>
|
||||
<padding>5</padding>
|
||||
<enable>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
</enable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>/systems/oxygen/passenger-oxygen/masks-deploy</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
</PropertyList>
|
||||
|
|
|
@ -339,7 +339,7 @@ var input = {
|
|||
cargoAft: "/sim/model/door-positions/cargoaft/position-norm",
|
||||
cargoBulk: "/sim/model/door-positions/cargobulk/position-norm",
|
||||
cargoFwd: "/sim/model/door-positions/cargofwd/position-norm",
|
||||
oxyPB: "/controls/oxygen/crewOxyPB",
|
||||
oxyPB: "/controls/oxygen/cockpit-oxygen-supply-pb",
|
||||
oxyBottlePress: "/systems/oxygen/cockpit-oxygen/bottle-psi",
|
||||
oxyBottleRegulLoPr: "/systems/oxygen/cockpit-oxygen/regul-lo-pr",
|
||||
};
|
||||
|
|
|
@ -7502,37 +7502,13 @@
|
|||
</action>
|
||||
</animation-->
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>PassOxyInd</object-name>
|
||||
<object-name>PassOxyInd1S</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>false</repeatable>
|
||||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/oxygen/masksSys</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>libraries.pushbutton();</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>PassOxyInd1S</object-name>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/oxygen/masksSys</property>
|
||||
<property>/systems/oxygen/passenger-oxygen/sys-on-light</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -7558,7 +7534,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/oxygen/crewOxyPB</property>
|
||||
<property>controls/oxygen/cockpit-oxygen-supply-pb</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -7573,7 +7549,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/oxygen/crewOxyPB</property>
|
||||
<property>controls/oxygen/cockpit-oxygen-supply-pb</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -7603,8 +7579,9 @@
|
|||
</greater-than-equals>
|
||||
</and>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/oxygen/masksDeployMan</property>
|
||||
<command>property-assign</command>
|
||||
<property>controls/oxygen/passenger-mask-deploy-man</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
|
@ -7616,6 +7593,24 @@
|
|||
<command>nasal</command>
|
||||
<script>libraries.pushbutton();</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>controls/OH/protectors/maskman</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</and>
|
||||
</condition>
|
||||
<command>property-assign</command>
|
||||
<property>controls/oxygen/passenger-mask-deploy-man</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
|
@ -7627,6 +7622,7 @@
|
|||
<property>controls/OH/protectors/maskman</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ var variousReset = func() {
|
|||
setprop("/controls/CVR/gndctl", 0);
|
||||
setprop("/controls/CVR/erase", 0);
|
||||
setprop("/controls/switches/pneumatics/cabin-fans", 1);
|
||||
setprop("/controls/oxygen/crewOxyPB", 0); # 0 = OFF 1 = AUTO
|
||||
setprop("/controls/switches/emerCallLtO", 0); # ON light, flashes white for 10s
|
||||
setprop("/controls/switches/emerCallLtC", 0); # CALL light, flashes amber for 10s
|
||||
setprop("/controls/switches/emerCall", 0);
|
||||
|
|
|
@ -140,10 +140,8 @@ var PNEU = {
|
|||
#setprop("/systems/ventilation/cabin/fans", 0); # aircon fans
|
||||
#setprop("/systems/ventilation/avionics/extractvalve", "0");
|
||||
#setprop("/systems/ventilation/avionics/inletvalve", "0");
|
||||
setprop("/controls/oxygen/masksDeploy", 0);
|
||||
setprop("/controls/oxygen/masksDeployMan", 0);
|
||||
setprop("/controls/oxygen/masksReset", 0); # this is the TMR RESET pb on the maintenance panel, needs 3D model
|
||||
setprop("/controls/oxygen/masksSys", 0);
|
||||
setprop("/controls/oxygen/passenger-mask-deploy-man", 0);
|
||||
setprop("/controls/oxygen/passenger-mask-reset", 0); # this is the TMR RESET pb on the maintenance panel, needs 3D model
|
||||
},
|
||||
resetFail: func() {
|
||||
me.Fail.apu.setBoolValue(0);
|
||||
|
@ -206,41 +204,5 @@ var PNEU = {
|
|||
#setprop("/systems/ventilation/avionics/extractvalve", "1");
|
||||
#setprop("/systems/ventilation/avionics/inletvalve", "1");
|
||||
#}
|
||||
|
||||
# Oxygen
|
||||
if (cabinalt > 13500) {
|
||||
setprop("/controls/oxygen/masksDeploy", 1);
|
||||
setprop("/controls/oxygen/masksSys", 1);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
# Oxygen (Cabin)
|
||||
|
||||
setlistener("/controls/oxygen/masksDeployMan", func {
|
||||
guard = getprop("/controls/oxygen/masksGuard");
|
||||
masks = getprop("/controls/oxygen/masksDeployMan");
|
||||
|
||||
if (guard and masks) {
|
||||
setprop("/controls/oxygen/masksDeployMan", 0);
|
||||
} else if (!guard and masks) {
|
||||
setprop("/controls/oxygen/masksDeployMan", 1);
|
||||
setprop("/controls/oxygen/masksDeploy", 1);
|
||||
setprop("/controls/oxygen/masksSys", 1);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/controls/oxygen/masksDeployMan", func {
|
||||
masks = getprop("/controls/oxygen/masksDeployMan");
|
||||
if (!masks) {
|
||||
setprop("/controls/oxygen/masksDeployMan", 1);
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/controls/oxygen/masksDeploy", func {
|
||||
autoMasks = getprop("/controls/oxygen/masksDeploy");
|
||||
if (!autoMasks) {
|
||||
setprop("/controls/oxygen/masksDeploy", 1);
|
||||
}
|
||||
}, 0, 0);
|
|
@ -1913,6 +1913,22 @@
|
|||
</volume>
|
||||
</announcements>
|
||||
|
||||
<announcements>
|
||||
<name>depressurization</name>
|
||||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/Announce/depressurization.wav</path>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/systems/oxygen/passenger-oxygen/sys-on-light</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/current-view/internal</property>
|
||||
<factor>2.0</factor>
|
||||
</volume>
|
||||
</announcements>
|
||||
|
||||
<chime>
|
||||
<name>Click</name>
|
||||
<path>Aircraft/A320-family/Sounds/Cockpit/click.wav</path>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<switch name="/systems/oxygen/cockpit-oxygen/supply-valve-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1"> <!-- solenoid valve; when not energized, it shuts -->
|
||||
/controls/oxygen/crewOxyPB eq 1
|
||||
/controls/oxygen/cockpit-oxygen-supply-pb eq 1
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
</test>
|
||||
</switch>
|
||||
|
@ -287,19 +287,43 @@
|
|||
|
||||
<channel name="Passenger Oxygen" execrate="8">
|
||||
|
||||
<!-- Chemical generators
|
||||
Masks drop automatically if altitude > 14000 or 16000 if HI ALT
|
||||
or MAN ON button
|
||||
Taped message + SYS ON comes online
|
||||
15 minutes supply
|
||||
SYS ON goes off only when TIMER RESET
|
||||
<switch name="/systems/oxygen/passenger-oxygen/pressure-switch">
|
||||
<defualt value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/pressurization/cabinalt ge 14000
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
</test>
|
||||
<!-- HI ALT 16000 -->
|
||||
</switch>
|
||||
|
||||
Door actuators AC ESS SHED 801PP
|
||||
Pressure switch for 14K feet powered by 401PP (DC ESS)
|
||||
Reset + taped msg + sys on light powred by 401PP
|
||||
<switch name="/systems/oxygen/passenger-oxygen/masks-deploy-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/systems/oxygen/passenger-oxygen/pressure-switch eq 1
|
||||
/controls/oxygen/passenger-mask-deploy-man eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
Regulators: below 10k zero flow
|
||||
-->
|
||||
<switch name="/systems/oxygen/passenger-oxygen/masks-deploy">
|
||||
<default value="/systems/oxygen/passenger-oxygen/masks-deploy"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/oxygen/passenger-oxygen/masks-deploy-cmd eq 1
|
||||
/systems/electrical/bus/ac-ess-shed ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="Sys On Light">
|
||||
<default value="/systems/oxygen/passenger-oxygen/sys-on-light"/>
|
||||
<test logic="OR" value="0">
|
||||
/controls/oxygen/passenger-mask-reset eq 1
|
||||
/systems/electrical/bus/dc-ess lt 25
|
||||
</test>
|
||||
<test logic="AND" value="1">
|
||||
/systems/oxygen/passenger-oxygen/masks-deploy-cmd eq 1
|
||||
/systems/electrical/bus/dc-ess ge 25
|
||||
</test>
|
||||
<output>/systems/oxygen/passenger-oxygen/sys-on-light</output>
|
||||
</switch>
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
Loading…
Add table
Reference in a new issue