Simulate Packs

This commit is contained in:
Joshua Davidson 2017-05-01 16:56:33 -04:00
parent 0a6b986ada
commit 5a5a49fcfa
2 changed files with 46 additions and 16 deletions

View file

@ -1789,10 +1789,11 @@
<button>3</button>
<repeatable>false</repeatable>
<binding>
<command>property-adjust</command>
<command>property-cycle</command>
<property>/controls/pneumatic/switches/pack-flo</property>
<step>5</step>
<max>15</max>
<value>7</value>
<value>9</value>
<value>11</value>
</binding>
</action>
<action>
@ -1800,10 +1801,11 @@
<button>4</button>
<repeatable>false</repeatable>
<binding>
<command>property-adjust</command>
<command>property-cycle</command>
<property>/controls/pneumatic/switches/pack-flo</property>
<step>-5</step>
<min>5</min>
<value>7</value>
<value>9</value>
<value>11</value>
</binding>
</action>
</animation>
@ -1813,9 +1815,9 @@
<object-name>ACFlowKnb</object-name>
<property>/controls/pneumatic/switches/pack-flo</property>
<interpolation>
<entry><ind> 5</ind><dep> 55</dep></entry>
<entry><ind>10</ind><dep> 0</dep></entry>
<entry><ind>15</ind><dep>-55</dep></entry>
<entry><ind> 7</ind><dep> 55</dep></entry>
<entry><ind> 9</ind><dep> 0</dep></entry>
<entry><ind>11</ind><dep>-55</dep></entry>
</interpolation>
<axis>
<x>1</x>
@ -2142,9 +2144,14 @@
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<!--binding>
<command>property-toggle</command>
<property>/controls/pneumatic/switches/ram-air</property>
</binding-->
<binding>
<command>property-assign</command>
<property>/controls/pneumatic/switches/ram-air</property>
<value>0</value>
</binding>
</action>
</animation>

View file

@ -13,13 +13,14 @@ var pneumatics_init = func {
setprop("/controls/pneumatic/switches/pack2", 0);
setprop("/controls/pneumatic/switches/hot-air", 0);
setprop("/controls/pneumatic/switches/ram-air", 0);
setprop("/controls/pneumatic/switches/pack-flo", 10); # LO: 5, NORM: 10, HI: 15
setprop("/controls/pneumatic/switches/xbleed", 1);
setprop("/controls/pneumatic/switches/pack-flo", 9); # LO: 7, NORM: 9, HI: 11.
setprop("/controls/pneumatic/switches/xbleed", 1); # SHUT: 0, AUTO: 1, OPEN: 2. # I will simulate later, once I get the knob animated. -JD
setprop("/systems/pneumatic/bleed1", 0);
setprop("/systems/pneumatic/bleed2", 0);
setprop("/systems/pneumatic/bleedapu", 0);
setprop("/systems/pneumatic/total-psi", 0);
setprop("/systems/pneumatic/start-psi", 0);
setprop("/systems/pneumatic/pack-psi", 0);
setprop("/systems/pneumatic/pack1", 0);
setprop("/systems/pneumatic/pack2", 0);
setprop("/systems/pneumatic/startpsir", 0);
@ -40,8 +41,6 @@ var master_pneu = func {
var ram_air_sw = getprop("/controls/pneumatic/switches/ram-air");
var pack_flo_sw = getprop("/controls/pneumatic/switches/pack-flo", 1);
var xbleed_sw = getprop("/controls/pneumatic/switches/xbleed");
var pack1 = getprop("/systems/pneumatic/pack1");
var pack2 = getprop("/systems/pneumatic/pack2");
var rpmapu = getprop("/systems/apu/rpm");
var stateL = getprop("/engines/engine[0]/state");
var stateR = getprop("/engines/engine[1]/state");
@ -69,18 +68,42 @@ var master_pneu = func {
var bleed2 = getprop("/systems/pneumatic/bleed2");
var bleedapu = getprop("/systems/pneumatic/bleedapu");
if ( stateL == 1 or stateR == 1) {
if (stateL == 1 or stateR == 1) {
setprop("/systems/pneumatic/start-psi", 18);
} else {
setprop("/systems/pneumatic/start-psi", 0);
}
if (pack1_sw == 1 and bleed1_sw) {
setprop("/systems/pneumatic/pack1", 9);
} else {
setprop("/systems/pneumatic/pack1", 0);
}
if (pack2_sw == 1 and bleed2_sw) {
setprop("/systems/pneumatic/pack2", 9);
} else {
setprop("/systems/pneumatic/pack2", 0);
}
var pack1 = getprop("/systems/pneumatic/pack1");
var pack2 = getprop("/systems/pneumatic/pack2");
if (pack1_sw == 1 and pack2_sw == 1) {
setprop("/systems/pneumatic/pack-psi", pack1 + pack2);
} else if (pack1_sw == 0 and pack2_sw == 0) {
setprop("/systems/pneumatic/pack-psi", 0);
} else {
setprop("/systems/pneumatic/pack-psi", pack1 + pack2 + 5);
}
var pack_psi = getprop("/systems/pneumatic/pack-psi");
var start_psi = getprop("/systems/pneumatic/start-psi");
if ((bleed1 + bleed2 + bleedapu) > 42) {
setprop("/systems/pneumatic/total-psi", 42);
} else {
var total_psi_calc = ((bleed1 + bleed2 + bleedapu) - start_psi); # - pack_psi;
var total_psi_calc = ((bleed1 + bleed2 + bleedapu) - start_psi - pack_psi);
setprop("/systems/pneumatic/total-psi", total_psi_calc);
}