update to left OHP

This commit is contained in:
Jonathan Redpath 2017-07-25 19:35:57 +01:00
parent dea0613e12
commit 684259efbc
6 changed files with 312 additions and 4 deletions

View file

@ -588,6 +588,7 @@
<IDG1 type="bool">0</IDG1>
<IDG2 type="bool">0</IDG2>
<ramair type="bool">0</ramair>
<maskman type="bool">0</maskman>
</protectors>
</OH>
<pneumatic n="0">

View file

@ -6009,5 +6009,203 @@
</binding>
</action>
</animation>
<animation>
<type>pick</type>
<object-name>LeftRainTest</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/switches/LrainRpt</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("/sim/sounde/oh-btn", 1);</script>
</binding>
</action>
</animation>
<animation>
<type>pick</type>
<object-name>RightRainTest</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/switches/RrainRpt</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("/sim/sounde/oh-btn", 1);</script>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>LeftWiperKnb</object-name>
<property>/controls/switches/wiperLspd</property>
<interpolation>
<entry><ind>-1</ind><dep>-50</dep></entry>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>1</ind><dep>50</dep></entry>
<entry><ind>2</ind><dep>100</dep></entry>
</interpolation>
<axis>
<x1-m>0.00608</x1-m>
<y1-m>-0.21485</y1-m>
<z1-m>-0.26721</z1-m>
<x2-m>0.00095</x2-m>
<y2-m>-0.21591</y2-m>
<z2-m>-0.26721</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>LeftWiperKnb</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/switches/wiperLspd</property>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>RightWiperKnb</object-name>
<property>/controls/switches/wiperLspd</property>
<interpolation>
<entry><ind>-1</ind><dep>-50</dep></entry>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>1</ind><dep>50</dep></entry>
<entry><ind>2</ind><dep>100</dep></entry>
</interpolation>
<axis>
<x1-m>0.00608</x1-m>
<y1-m>-0.21485</y1-m>
<z1-m>-0.26721</z1-m>
<x2-m>0.00095</x2-m>
<y2-m>-0.21591</y2-m>
<z2-m>-0.26721</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>RightWiperKnb</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/switches/wiperRspd</property>
</binding>
</action>
</animation>
<animation>
<type>select</type>
<object-name>PassOxyInd1S</object-name>
<condition>
<equals>
<property>/controls/oxygen/masksSys</property>
<value>1</value>
</equals>
</condition>
</animation>
<animation>
<type>pick</type>
<object-name>PassOxyInd1S</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/oxygen/masksSys</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("/sim/sounde/oh-btn", 1);</script>
</binding>
</action>
</animation>
<animation>
<type>select</type>
<object-name>CrewOxyBtn2O</object-name>
<condition>
<equals>
<property>/controls/oxygen/crewOxyPB</property>
<value>1</value>
</equals>
</condition>
</animation>
<animation>
<type>pick</type>
<object-name>CrewOxyBtn2O</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/oxygen/crewOxyPB</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("/sim/sounde/oh-btn", 1);</script>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>MaskManOnGaurd</object-name>
<property>/controls/oxygen/masksGuard</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>1</ind><dep>90</dep></entry>
</interpolation>
<axis>
<x1-m>0.00375</x1-m>
<y1-m>-0.27338</y1-m>
<z1-m>-0.15783</z1-m>
<x2-m>0.00228</x2-m>
<y2-m>-0.26147</y2-m>
<z2-m>-0.15783</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>MaskManOnGaurd</object-name>
<action>
<button>1</button>
<binding>
<command>property-assign</command>
<property>controls/OH/protectors/maskman</property>
<value>1</value>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>controls/OH/protectors/maskman</property>
<value>0</value>
</binding>
<binding>
<command>nasal</command>
<script>setprop("/sim/sounde/oh-cover", 1);</script>
</binding>
</mod-up>
</action>
</animation>
</PropertyList>

View file

@ -26,16 +26,78 @@ var variousReset = func {
setprop("/controls/CVR/gndctl", 0);
setprop("/controls/CVR/erase", 0);
setprop("/controls/switches/cabinfan", 1);
setprop("/controls/oxygen/crewOxyPB", 0); # 0 = AUTO 1 = OFF
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);
setprop("/controls/switches/LrainRpt", 0);
setprop("/controls/switches/RrainRpt", 0);
setprop("/controls/swithces/wiperLspd", 0); # -1 = INTM 0 = OFF 1 = LO 2 = HI
setprop("/controls/swithces/wiperRspd", 0); # -1 = INTM 0 = OFF 1 = LO 2 = HI
}
setlistener("/sim/signals/fdm-initialized", func {
var stateL = getprop("/engines/engine[0]/state");
var stateR = getprop("/engines/engine[1]/state");
var Lrain = getprop("/controls/switches/LrainRpt");
var Rrain = getprop("/controls/switches/RrainRpt");
var OnLt = getprop("/controls/switches/emerCallLtO");
var CallLt = getprop("/controls/switches/emerCallLtC");
var wow = getprop("/gear/gear[1]/wow");
rainTimer.start();
});
# inhibit rain rpt when engines off and on ground
var rainRepel = func {
Lrain = getprop("/controls/switches/LrainRpt");
Rrain = getprop("/controls/switches/RrainRpt");
wow = getprop("/gear/gear[1]/wow");
stateL = getprop("/engines/engine[0]/state");
stateR = getprop("/engines/engine[1]/state");
if (Lrain and (stateL != 3 and stateR != 3 and wow)) {
setprop("/controls/switches/LrainRpt", 0);
}
if (Rrain and (stateL != 3 and stateR != 3 and wow)) {
setprop("/controls/switches/RrainRpt", 0);
}
}
var EmerCall = func {
setprop("/controls/switches/emerCall", 1);
EmerCallTimer1.start();
EmerCallTimer2.start();
settimer(func() {
setprop("/controls/switches/emerCall", 0);
EmerCallTimer1.stop();
EmerCallTimer2.stop();
}, 10);
}
var EmerCallOnLight = func {
OnLt = getprop("/controls/switches/emerCallLtO");
if (OnLt) {
setprop("/controls/switches/emerCallLtO", 0);
} else if (!OnLt) {
setprop("/controls/switches/emerCallLtO", 1);
}
}
var EmerCallLightCall = func {
CallLt = getprop("/controls/switches/emerCallLtC");
if (CallLt) {
setprop("/controls/switches/emerCallLtC", 0);
} else if (!CallLt) {
setprop("/controls/switches/emerCallLtC", 1);
}
}
var CabinCall = func {
setprop("/controls/switches/cabinCall", 1);
setprop("/controls/switches/emerCall", 0);
settimer(func() {
setprop("/controls/switches/cabinCall", 0);
setprop("/controls/switches/emerCall", 0);
}, 15);
}
var MechCall = func {
setprop("/controls/switches/mechCall", 1);
settimer(func() {
@ -171,3 +233,6 @@ var update_CVR = func {
}
var CVR = maketimer(0.1, update_CVR);
var EmerCallTimer1 = maketimer(0.5, EmerCallOnLight);
var EmerCallTimer2 = maketimer(0.5, EmerCallLightCall);
var rainTimer = maketimer(0.1, rainRepel);

View file

@ -72,6 +72,9 @@ setlistener("/sim/signals/fdm-initialized", func {
var eng1on = getprop("/controls/deice/eng1-on");
var eng2on = getprop("/controls/deice/eng2-on");
var total_psi_calc = 0;
var masks = getprop("/controls/oxygen/masksDeployMan");
var autoMasks = getprop("/controls/oxygen/masksDeploy");
var guard = getprop("/controls/oxygen/masksGuard");
});
var pneu_init = func {
@ -133,6 +136,10 @@ var pneu_init = func {
setprop("/systems/ventilation/lavatory/extractvalve", "0");
setprop("/controls/deice/eng1-on", 0);
setprop("/controls/deice/eng2-on", 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);
pneu_timer.start();
}
@ -387,8 +394,28 @@ var flashfault2 = func {
settimer(func {
setprop("/controls/deice/eng2-fault", 0);
}, 0.5);
# Oxygen (Cabin)
setlistener("/controls/oxygen/masksDeployMan", func {
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);
}
});
if (cabinalt > 13500) {
setprop("/controls/oxygen/masksDeploy", 1);
setprop("/controls/oxygen/masksSys", 1);
}
}
###################
# Update Function #
###################

View file

@ -78,6 +78,23 @@
<max-dist>100.0</max-dist>
</announcement>
<announcement>
<name>EmerCall</name>
<mode>once</mode>
<path>tripleBelt.wav</path>
<condition>
<equals>
<property>/controls/switches/emerCall</property>
<value>1</value>
</equals>
</condition>
<volume>
<factor>8</factor>
</volume>
<reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist>
</announcement>
<callout>
<name>V1</name>
<mode>once</mode>

BIN
Sounds/tripleBelt.wav Normal file

Binary file not shown.