1
0
Fork 0

System: Complete ignition rework part 3

This commit is contained in:
Josh Davidson 2022-03-09 12:26:14 -05:00
parent 8d05ba4184
commit 2fe6df78e5
27 changed files with 15322 additions and 15263 deletions

View file

@ -230,4 +230,11 @@
<model-number type="string">A320-214</model-number>
</options>
<systems n="0">
<ignition n="0">
<starter-cutoff-n2 type="double">50</starter-cutoff-n2>
<starter-engage-n2 type="double">16</starter-engage-n2>
</ignition>
</systems>
</PropertyList>

View file

@ -281,6 +281,7 @@
<system file="a320-hydraulic"/>
<system file="a320-pneumatic"/>
<system file="a320-aircond"/> <!-- after pneu -->
<system file="a320-ignition"/>
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>

View file

@ -229,5 +229,12 @@
<maxflap type="int">40</maxflap>
<model-number type="string">A320-232</model-number>
</options>
<systems n="0">
<ignition n="0">
<starter-cutoff-n2 type="double">43</starter-cutoff-n2>
<starter-engage-n2 type="double">19</starter-engage-n2>
</ignition>
</systems>
</PropertyList>

View file

@ -281,6 +281,7 @@
<system file="a320-hydraulic"/>
<system file="a320-pneumatic"/>
<system file="a320-aircond"/> <!-- after pneu -->
<system file="a320-ignition"/>
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>

View file

@ -644,13 +644,13 @@
<name>Outer Right Wing</name>
</tank>
<tank n="5">
<name>Engine 1 Pipes</name>
<name>Engine 1 Pipe</name>
</tank>
<tank n="6">
<name>Engine 2 Pipes</name>
<name>Engine 2 Pipe</name>
</tank>
<tank n="7">
<name>APU Pipes</name>
<name>APU Pipe</name>
</tank>
</fuel>
</consumables>
@ -917,21 +917,18 @@
</switches>
</electrical>
<engines n="0">
<engine-start-switch type="int">1</engine-start-switch>
<engine n="0">
<cutoff type="bool">true</cutoff>
<cutoff-switch type="bool">true</cutoff-switch>
<fire-btn type="bool">0</fire-btn>
<fire-btn-cover type="bool">0</fire-btn-cover>
<fire-light type="bool">0</fire-light>
<man-start type="bool">0</man-start>
<starter type="bool">0</starter>
<starter-switch type="bool">0</starter-switch>
<start-switch type="bool">0</start-switch>
<reverse-cmd type="bool">0</reverse-cmd>
<reverse-lever type="double">0</reverse-lever>
<igniter-a type="bool">0</igniter-a>
<igniter-b type="bool">0</igniter-b>
<last-igniter type="string">B</last-igniter>
</engine>
<engine n="1">
<cutoff type="bool">true</cutoff>
@ -939,14 +936,12 @@
<fire-btn type="bool">0</fire-btn>
<fire-btn-cover type="bool">0</fire-btn-cover>
<fire-light type="bool">0</fire-light>
<man-start type="bool">0</man-start>
<starter type="bool">0</starter>
<starter-switch type="bool">0</starter-switch>
<start-switch type="bool">0</start-switch>
<reverse-cmd type="bool">0</reverse-cmd>
<reverse-lever type="double">0</reverse-lever>
<igniter-a type="bool">0</igniter-a>
<igniter-b type="bool">0</igniter-b>
<last-igniter type="string">B</last-igniter>
</engine>
<engine n="2">
<cutoff type="bool">true</cutoff>
@ -1083,6 +1078,9 @@
<leftturnoff type="bool">0</leftturnoff>
<rightturnoff type="bool">0</rightturnoff>
</lighting>
<ignition n="0">
<start-sw type="int">1</start-sw>
</ignition>
<navigation>
<adirscp>
<switches>
@ -1255,22 +1253,22 @@
</gear>
<network>
<cpdlc>
<link>
<status type="int">0</status>
<data-authority type="string"></data-authority>
</link>
<rx>
<message type="string"/>
<new-message type="bool">0</new-message>
</rx>
</cpdlc>
<mpirc>
<irc-ready type="bool">0</irc-ready>
<msg-count-in type="int">0</msg-count-in>
<msg-count-out type="int">0</msg-count-out>
</mpirc>
</network>
<cpdlc>
<link>
<status type="int">0</status>
<data-authority type="string"></data-authority>
</link>
<rx>
<message type="string"/>
<new-message type="bool">0</new-message>
</rx>
</cpdlc>
<mpirc>
<irc-ready type="bool">0</irc-ready>
<msg-count-in type="int">0</msg-count-in>
<msg-count-out type="int">0</msg-count-out>
</mpirc>
</network>
<services n="0">
<chocks n="0">
@ -1297,6 +1295,8 @@
<mct-t type="double">0.83</mct-t>
<toga-b type="double">0.95</toga-b>
</fadec>
<igniter-select-1 type="int">0</igniter-select-1>
<igniter-select-2 type="int">0</igniter-select-2>
<seperate-tiller-axis type="bool">0</seperate-tiller-axis>
</options>
</acconfig>
@ -1536,15 +1536,6 @@
</fire>
<fuel n="0">
<only-use-ctr-tank type="bool">0</only-use-ctr-tank>
<tank n="0">
<feed type="bool">0</feed>
</tank>
<tank n="1">
<feed type="bool">0</feed>
</tank>
<tank n="2">
<feed type="bool">0</feed>
</tank>
<ctr-pump-cmd-on-eng-start type="bool">0</ctr-pump-cmd-on-eng-start>
<refuel>
<left-valve type="bool">0</left-valve>
@ -2335,7 +2326,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>1</camera-id>
@ -2381,7 +2372,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>2</camera-id>
@ -2428,7 +2419,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>3</camera-id>
@ -2475,7 +2466,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>4</camera-id>
@ -2522,7 +2513,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>5</camera-id>
@ -2571,7 +2562,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>6</camera-id>
@ -2628,7 +2619,7 @@
</binding-->
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>7</camera-id>
@ -2664,7 +2655,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>8</camera-id>
@ -2711,7 +2702,7 @@
</binding>
<binding>
<condition>
<property>/options/system/fgcamera-keys-enabled</property>
<property>/options/system/fgcamera-keys-enabled</property>
</condition>
<command>fgcamera-select</command>
<camera-id>9</camera-id>
@ -3066,16 +3057,16 @@
<command>nasal</command>
<script>controls.gearDown(1)</script>
</binding>
<mod-up>
<binding>
<condition>
<mod-up>
<binding>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<command>nasal</command>
<script>controls.gearDown(0)</script>
</binding>
</mod-up>
</binding>
</mod-up>
</key>
<key n="72">
<name>SHIFT-h</name>
@ -4760,9 +4751,9 @@
</options>
<nasal>
<notifications>
<file>Aircraft/A320-family/Nasal/emesary/M_frame_notification.nas</file>
</notifications>
<notifications>
<file>Aircraft/A320-family/Nasal/emesary/M_frame_notification.nas</file>
</notifications>
<pts>
<file>Aircraft/A320-family/Nasal/Libraries/property-tree-setup.nas</file>
</pts>
@ -4791,7 +4782,7 @@
<file>Aircraft/A320-family/Nasal/Systems/pneumatics.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/hydraulics.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/fuel.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/Engines/engines-common.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/engines.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/fadec-common.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/ADIRS/ADR.nas</file>
<file>Aircraft/A320-family/Nasal/Panels/SwitchingPanel.nas</file>

View file

@ -232,5 +232,12 @@
<sharklet type="bool">1</sharklet>
</model-options>
</options>
<systems n="0">
<ignition n="0">
<starter-cutoff-n2 type="double">50</starter-cutoff-n2> <!-- Check -->
<starter-engage-n2 type="double">16</starter-engage-n2> <!-- Check -->
</ignition>
</systems>
</PropertyList>

View file

@ -281,6 +281,7 @@
<system file="a320-hydraulic"/>
<system file="a320-pneumatic"/>
<system file="a320-aircond"/> <!-- after pneu -->
<system file="a320-ignition"/>
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>

View file

@ -222,7 +222,7 @@
</limits>
<options n="0">
<eng type="string">CFM</eng> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM ECAM, and no N1 mode switches -->
<eng type="string">CFM</eng> <!-- PW PurePower uses N1, not EPR... so I use CFM, and no N1 mode switches -->
<eng-int type="int">0</eng-int>
<engine-name type="string">PW1127G-JM</engine-name>
<maxblock type="double">52.3</maxblock>
@ -232,5 +232,12 @@
<sharklet type="bool">1</sharklet>
</model-options>
</options>
<systems n="0">
<ignition n="0">
<starter-cutoff-n2 type="double">50</starter-cutoff-n2> <!-- Check -->
<starter-engage-n2 type="double">16</starter-engage-n2> <!-- Check -->
</ignition>
</systems>
</PropertyList>

View file

@ -281,6 +281,7 @@
<system file="a320-hydraulic"/>
<system file="a320-pneumatic"/>
<system file="a320-aircond"/> <!-- after pneu -->
<system file="a320-ignition"/>
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>

View file

@ -276,7 +276,7 @@ var colddark = func {
setprop("/controls/gear/brake-right", 1);
# Initial shutdown, and reinitialization.
setprop("/services/chocks/enable", 1);
setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/ignition/start-sw", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/flaps", 0);
@ -336,7 +336,7 @@ var beforestart = func {
setprop("/controls/gear/brake-right", 1);
# First, we set everything to cold and dark.
setprop("/services/chocks/enable", 1);
setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/ignition/start-sw", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/flaps", 0);
@ -433,7 +433,7 @@ var taxi = func {
setprop("/controls/gear/brake-right", 1);
# First, we set everything to cold and dark.
setprop("/services/chocks/enable", 0);
setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/ignition/start-sw", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/flaps", 0);
@ -527,9 +527,8 @@ var taxi_c = func {
colddark();
return 0; # auto-config aborted
}
setprop("/controls/engines/engine-start-switch", 2);
setprop("/controls/engines/engine[0]/cutoff-switch", 0);
setprop("/controls/engines/engine[1]/cutoff-switch", 0);
systems.IGNITION.fastStart(0);
systems.IGNITION.fastStart(1);
settimer(func {
taxi_d();
}, 10);
@ -540,7 +539,6 @@ var taxi_d = func {
return 0; # auto-config aborted
}
# After Start items.
setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/apu/master", 0);
setprop("/controls/pneumatics/switches/apu", 0);
setprop("/controls/gear/brake-left", 0);

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>27000</milthrust>
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>2.3</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.19</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>1.7</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.11</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.503</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<maxn1>104</maxn1>
<maxn2>105</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>26600</milthrust> <!-- @ 0.2 Mach, 24800 at 0 Mach, handled in fadec file -->
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>4.8</ignitionn1>
<ignitionn2>23.9</ignitionn2>
<n1spinup>0.37</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>5.3</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.343</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.365</n1startrate>
<n2startrate>0.767</n2startrate>
<idlen1>22.4</idlen1>
<idlen2>60.9</idlen2>
<maxn1>100.0</maxn1>
<maxn2>100.0</maxn2>
<maxn1>100</maxn1>
<maxn2>100</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -6,17 +6,17 @@
<milthrust>26600</milthrust> <!-- @ 0.2 Mach, 24800 at 0 Mach, handled in fadec file -->
<tsfc>0.335</tsfc>
<bleed>0.03</bleed>
<ignitionn1>4.8</ignitionn1>
<ignitionn2>23.9</ignitionn2>
<n1spinup>0.37</n1spinup>
<n2spinup>1.85</n2spinup>
<bleed>0</bleed> <!-- Set by pneumatic system -->
<ignitionn1>5.3</ignitionn1>
<ignitionn2>28.5</ignitionn2>
<n1spinup>0.343</n1spinup>
<n2spinup>1.845</n2spinup>
<n1startrate>0.365</n1startrate>
<n2startrate>0.767</n2startrate>
<idlen1>22.4</idlen1>
<idlen2>60.9</idlen2>
<maxn1>100.0</maxn1>
<maxn2>100.0</maxn2>
<maxn1>100</maxn1>
<maxn2>100</maxn2>
<augmented>0</augmented>
<injected>0</injected>

View file

@ -3078,7 +3078,7 @@
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>0</value>
<value>1</value>
<value>2</value>
@ -3090,7 +3090,7 @@
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>2</value>
<value>1</value>
<value>0</value>
@ -3102,7 +3102,7 @@
<type>rotate</type>
<object-name>eng_mode</object-name>
<object-name>eng_mode.mark</object-name>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<interpolation>
<entry><ind>0</ind><dep>-53</dep></entry>
<entry><ind>1</ind><dep> 0</dep></entry>

View file

@ -39,12 +39,12 @@ var canvas_lowerECAMPageEng =
obj.quantity[0] = sprintf("%2.1f",(0.1 * math.round(val * QT2LTR * 10,5)));
obj["OilQT1"].setText(sprintf("%s", left(obj.quantity[0], (size(obj.quantity[0]) == 4 ? 2 : 1))));
obj["OilQT1-decimal"].setText(sprintf("%s", right(obj.quantity[0],1)));
obj["OilQT1-needle"].setRotation(((val * QT2LTR) + 90) * D2R);
obj["OilQT1-needle"].setRotation(((val * QT2LTR)) * D2R);
} else {
obj.quantity[0] = sprintf("%2.1f",(0.1 * math.round(val * 10,5)));
obj["OilQT1"].setText(sprintf("%s", left(obj.quantity[0], (size(obj.quantity[0]) == 4 ? 2 : 1))));
obj["OilQT1-decimal"].setText(sprintf("%s", right(obj.quantity[0],1)));
obj["OilQT1-needle"].setRotation((val + 90) * D2R);
obj["OilQT1-needle"].setRotation((val) * D2R);
}
}),
props.UpdateManager.FromHashValue("engOilQt2", 0.005, func(val) {
@ -52,12 +52,12 @@ var canvas_lowerECAMPageEng =
obj.quantity[1] = sprintf("%2.1f",(0.1 * math.round(val * QT2LTR * 10,5)));
obj["OilQT2"].setText(sprintf("%s", left(obj.quantity[1], (size(obj.quantity[1]) == 4 ? 2 : 1))));
obj["OilQT2-decimal"].setText(sprintf("%s", right(obj.quantity[1],1)));
obj["OilQT2-needle"].setRotation(((val * QT2LTR) + 90) * D2R);
obj["OilQT2-needle"].setRotation(((val * QT2LTR)) * D2R);
} else {
obj.quantity[1] = sprintf("%2.1f",(0.1 * math.round(val * 10,5)));
obj["OilQT2"].setText(sprintf("%s", left(obj.quantity[1], (size(obj.quantity[1]) == 4 ? 2 : 1))));
obj["OilQT2-decimal"].setText(sprintf("%s", right(obj.quantity[1],1)));
obj["OilQT2-needle"].setRotation((val + 90) * D2R);
obj["OilQT2-needle"].setRotation((val) * D2R);
}
}),
props.UpdateManager.FromHashValue("engOilPsi1", 0.25, func(val) {
@ -70,7 +70,7 @@ var canvas_lowerECAMPageEng =
}
obj["OilPSI1"].setText(sprintf("%s", math.round(val)));
obj["OilPSI1-needle"].setRotation((val + 90) * D2R);
obj["OilPSI1-needle"].setRotation((val) * D2R);
}),
props.UpdateManager.FromHashValue("engOilPsi2", 0.25, func(val) {
if (val >= 13) {
@ -82,7 +82,7 @@ var canvas_lowerECAMPageEng =
}
obj["OilPSI2"].setText(sprintf("%s", math.round(val)));
obj["OilPSI2-needle"].setRotation((val + 90) * D2R);
obj["OilPSI2-needle"].setRotation((val) * D2R);
}),
props.UpdateManager.FromHashValue("acconfigUnits", nil, func(val) {
if (val) {

View file

@ -5792,7 +5792,7 @@
</and>
</condition>
<command>property-toggle</command>
<property>controls/engines/engine[0]/man-start</property>
<property>controls/engines/engine[0]/start-switch</property>
</binding>
<binding>
<condition>
@ -5864,7 +5864,7 @@
<condition>
<or>
<equals>
<property>controls/engines/engine[0]/man-start</property>
<property>controls/engines/engine[0]/start-switch</property>
<value>1</value>
</equals>
<equals>
@ -5897,7 +5897,7 @@
</and>
</condition>
<command>property-toggle</command>
<property>controls/engines/engine[1]/man-start</property>
<property>controls/engines/engine[1]/start-switch</property>
</binding>
<binding>
<condition>
@ -5969,7 +5969,7 @@
<condition>
<or>
<equals>
<property>controls/engines/engine[1]/man-start</property>
<property>controls/engines/engine[1]/start-switch</property>
<value>1</value>
</equals>
<equals>

File diff suppressed because it is too large Load diff

View file

@ -84,13 +84,13 @@ For the FO Sidestick, use `side=2`
<repeatable type="string">false</repeatable>
<binding>
<command>property-assign</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>0</value>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>1</value>
</binding>
</mod-up>
@ -100,13 +100,13 @@ For the FO Sidestick, use `side=2`
<repeatable type="string">false</repeatable>
<binding>
<command>property-assign</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>2</value>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>controls/engines/engine-start-switch</property>
<property>controls/ignition/start-sw</property>
<value>1</value>
</binding>
</mod-up>

View file

@ -277,7 +277,7 @@
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[0]/fire-btn eq 0
/controls/engines/engine[0]/cutoff-switch eq 0
/engines/engine[0]/state ge 1
</test>
</switch>
@ -298,7 +298,7 @@
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[1]/fire-btn eq 0
/controls/engines/engine[1]/cutoff-switch eq 0
/engines/engine[1]/state ge 1
</test>
</switch>
@ -552,32 +552,6 @@
</test>
</switch>
<switch name="rubbish/pipes-unusable-volume-1">
<default value="0"/>
<test logic="AND" value="1.5">
/systems/acconfig/autoconfig-running eq 0
/systems/fuel/valves/engine-1-lp-valve eq 0
</test>
<output>propulsion/tank[5]/unusable-volume-gal</output>
</switch>
<switch name="rubbish/pipes-unusable-volume-2">
<default value="0"/>
<test logic="AND" value="1.5">
/systems/acconfig/autoconfig-running eq 0
/systems/fuel/valves/engine-2-lp-valve eq 0
</test>
<output>propulsion/tank[6]/unusable-volume-gal</output>
</switch>
<switch name="rubbish/pipes-unusable-volume-apu">
<default value="0"/>
<test logic="AND" value="1.5">
/systems/acconfig/autoconfig-running eq 0
/systems/fuel/valves/apu-lp-valve eq 0
</test>
<output>propulsion/tank[7]/unusable-volume-gal</output>
</switch>
<!-- Feed system -->
<switch name="/systems/fuel/internal/apu-source"> <!-- this only when all pumps off -->

View file

@ -1121,7 +1121,7 @@
<switch name="/ECAM/warnings/logic/cranking-35-sec-input">
<default value="0"/>
<test value="1">
/controls/engines/engine-start-switch eq 0
/controls/ignition/start-sw eq 0
</test>
</switch>
@ -1129,7 +1129,7 @@
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR">
/controls/engines/engine-start-switch eq 0
/controls/ignition/start-sw eq 0
/ECAM/warnings/timer/cranking-35-sec eq 1
</test>
/controls/pneumatics/switches/pack-1 eq 1
@ -1143,7 +1143,7 @@
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR">
/controls/engines/engine-start-switch eq 0
/controls/ignition/start-sw eq 0
/ECAM/warnings/timer/cranking-35-sec eq 1
</test>
/controls/pneumatics/switches/pack-2 eq 1
@ -1174,7 +1174,7 @@
<test logic="OR" value="1">
/systems/pneumatics/valves/starter-valve-1 ne 0
/systems/pneumatics/valves/starter-valve-2 ne 0
/controls/engines/engine-start-switch eq 2
/controls/ignition/start-sw eq 2
/engines/engine[0]/state eq 1
/engines/engine[0]/state eq 2
/engines/engine[1]/state eq 1

414
Systems/a320-ignition.xml Normal file
View file

@ -0,0 +1,414 @@
<?xml version="1.0"?>
<!-- Airbus A320 Ignition -->
<!-- Copyright (c) 2022 Josh Davidson (Octal450) -->
<system name="A320: Ignition">
<channel name="Ignition" execrate="8">
<switch name="/systems/ignition/ign-1/ign-a">
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR"> <!-- Priority Stat Inv -->
/systems/electrical/sources/si-1/output-volt ge 110
/systems/electrical/bus/ac-ess ge 110
</test>
/controls/ignition/start-sw eq 2
</test>
</switch>
<switch name="/systems/ignition/ign-1/ign-b">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/ac-1 ge 110
/controls/ignition/start-sw eq 2
</test>
</switch>
<switch name="/systems/ignition/ign-1/ign-avail">
<default value="0"/>
<test logic="OR" value="1">
/systems/ignition/ign-1/ign-a eq 1
/systems/ignition/ign-1/ign-b eq 1
</test>
</switch>
<switch name="/systems/ignition/ign-2/ign-a">
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR"> <!-- Priority Stat Inv -->
/systems/electrical/sources/si-1/output-volt ge 110
/systems/electrical/bus/ac-ess ge 110
</test>
/controls/ignition/start-sw eq 2
</test>
</switch>
<switch name="/systems/ignition/ign-2/ign-b">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/ac-2 ge 110
/controls/ignition/start-sw eq 2
</test>
</switch>
<switch name="/systems/ignition/ign-2/ign-avail">
<default value="0"/>
<test logic="OR" value="1">
/systems/ignition/ign-2/ign-a eq 1
/systems/ignition/ign-2/ign-b eq 1
</test>
</switch>
</channel>
<channel name="Engine Start/Stop"> <!-- Do NOT execrate! -->
<!-- Engine 1 -->
<switch name="/systems/ignition/cutoff-1">
<default value="1"/>
<test logic="AND" value="0">
/controls/engines/engine[0]/cutoff-switch eq 0
propulsion/tank[5]/contents-lbs ge 1
</test>
</switch>
<switch name="/systems/ignition/can-start-1">
<default value="1"/>
<test logic="OR" value="0">
/systems/pneumatics/psi/engine-1-psi lt 20
/engines/engine[0]/n2-actual ge /systems/ignition/starter-cutoff-n2
/systems/ignition/ign-1/ign-avail ne 1
</test>
<test logic="AND" value="0"> <!-- So that starting is aborting if cutoff placed to off -->
/systems/ignition/cutoff-1 eq 1
/engines/engine[0]/state ge 2
</test>
</switch>
<switch name="/systems/ignition/auto-start-1">
<default value="0"/>
<test logic="AND" value="1">
/systems/ignition/can-start-1 eq 1
/systems/ignition/cutoff-1 eq 0
/controls/engines/engine[0]/start-switch eq 0
</test>
</switch>
<switch name="/systems/ignition/start-switch-1">
<default value="/controls/engines/engine[0]/start-switch"/>
<test logic="OR" value="0">
/systems/ignition/can-start-1 eq 0
/systems/ignition/auto-start-1 eq 1
</test>
<output>/controls/engines/engine[0]/start-switch</output>
</switch>
<switch name="/systems/ignition/start-valve-1-cmd">
<default value="0"/>
<test logic="OR" value="1">
/systems/ignition/auto-start-1 eq 1
/systems/ignition/start-switch-1 eq 1
</test>
</switch>
<actuator name="/systems/ignition/start-valve-1">
<input>/systems/ignition/start-valve-1-cmd</input>
<rate_limit sense="incr">1</rate_limit>
<rate_limit sense="decr">1000</rate_limit>
</actuator>
<switch name="/systems/ignition/starter-1">
<default value="0"/>
<test value="1">
/systems/ignition/start-valve-1 eq 1
</test>
<output>/systems/pneumatics/valves/starter-valve-1</output>
</switch>
<switch name="/systems/ignition/cutoff-delay-cmd-1">
<default value="0"/>
<test logic="AND" value="1">
/systems/ignition/starter-1 eq 1
/engines/engine[0]/n2-actual ge /systems/ignition/starter-engage-n2
</test>
</switch>
<switch name="/systems/ignition/cutoff-delay-rate-1">
<default value="1000"/>
<test value="1"> <!-- There's a delay -->
/systems/ignition/start-switch-1 eq 1
</test>
<test value="0.45"> <!-- JSBsim sequencing fix + there's a delay -->
/systems/ignition/auto-start-1 eq 1
</test>
</switch>
<actuator name="/systems/ignition/cutoff-delay-1">
<input>/systems/ignition/cutoff-delay-cmd-1</input>
<rate_limit sense="incr">/systems/ignition/cutoff-delay-rate-1</rate_limit>
<rate_limit sense="decr">1000</rate_limit>
</actuator>
<switch name="/systems/ignition/starter-jsb-1">
<default value="/systems/ignition/start-valve-1"/>
<test logic="AND" value="1"> <!-- Because JSBsim will kill the engine if we cut out early -->
/engines/engine[0]/n2-actual ge /systems/ignition/starter-cutoff-n2
/systems/ignition/cutoff-1 eq 0
</test>
</switch>
<switch name="/systems/ignition/cutoff-jsb-1">
<default value="/systems/ignition/cutoff-1"/>
<test logic="AND" value="1">
/systems/ignition/auto-start-1 eq 1
/systems/ignition/cutoff-delay-1 lt 1
</test>
</switch>
<switch name="/systems/ignition/state-1">
<default value="0"/>
<test logic="AND" value="3">
/systems/ignition/cutoff-jsb-1 eq 0
/engines/engine[0]/n2-actual ge 58
</test>
<test logic="AND" value="2">
/systems/ignition/cutoff-jsb-1 eq 0
/systems/ignition/starter-jsb-1 eq 1
</test>
<test value="1">
/systems/ignition/starter-jsb-1 eq 1
</test>
<output>/engines/engine[0]/state</output>
</switch>
<!-- Engine 2 -->
<switch name="/systems/ignition/cutoff-2">
<default value="1"/>
<test logic="AND" value="0">
/controls/engines/engine[1]/cutoff-switch eq 0
propulsion/tank[5]/contents-lbs ge 1
</test>
</switch>
<switch name="/systems/ignition/can-start-2">
<default value="1"/>
<test logic="OR" value="0">
/systems/pneumatics/psi/engine-2-psi lt 20
/engines/engine[1]/n2-actual ge /systems/ignition/starter-cutoff-n2
/systems/ignition/ign-2/ign-avail ne 1
</test>
<test logic="AND" value="0"> <!-- So that starting is aborting if cutoff placed to off -->
/systems/ignition/cutoff-2 eq 1
/engines/engine[1]/state ge 2
</test>
</switch>
<switch name="/systems/ignition/auto-start-2">
<default value="0"/>
<test logic="AND" value="1">
/systems/ignition/can-start-2 eq 1
/systems/ignition/cutoff-2 eq 0
/controls/engines/engine[1]/start-switch eq 0
</test>
</switch>
<switch name="/systems/ignition/start-switch-2">
<default value="/controls/engines/engine[1]/start-switch"/>
<test logic="OR" value="0">
/systems/ignition/can-start-2 eq 0
/systems/ignition/auto-start-2 eq 1
</test>
<output>/controls/engines/engine[1]/start-switch</output>
</switch>
<switch name="/systems/ignition/start-valve-2-cmd">
<default value="0"/>
<test logic="OR" value="1">
/systems/ignition/auto-start-2 eq 1
/systems/ignition/start-switch-2 eq 1
</test>
</switch>
<actuator name="/systems/ignition/start-valve-2">
<input>/systems/ignition/start-valve-2-cmd</input>
<rate_limit sense="incr">1</rate_limit>
<rate_limit sense="decr">1000</rate_limit>
</actuator>
<switch name="/systems/ignition/starter-2">
<default value="0"/>
<test value="1">
/systems/ignition/start-valve-2 eq 1
</test>
<output>/systems/pneumatics/valves/starter-valve-2</output>
</switch>
<switch name="/systems/ignition/cutoff-delay-cmd-2">
<default value="0"/>
<test logic="AND" value="1">
/systems/ignition/starter-2 eq 1
/engines/engine[1]/n2-actual ge /systems/ignition/starter-engage-n2
</test>
</switch>
<switch name="/systems/ignition/cutoff-delay-rate-2">
<default value="1000"/>
<test value="1"> <!-- There's a delay -->
/systems/ignition/start-switch-2 eq 1
</test>
<test value="0.45"> <!-- JSBsim sequencing fix + there's a delay -->
/systems/ignition/auto-start-2 eq 1
</test>
</switch>
<actuator name="/systems/ignition/cutoff-delay-2">
<input>/systems/ignition/cutoff-delay-cmd-2</input>
<rate_limit sense="incr">/systems/ignition/cutoff-delay-rate-2</rate_limit>
<rate_limit sense="decr">1000</rate_limit>
</actuator>
<switch name="/systems/ignition/starter-jsb-2">
<default value="/systems/ignition/start-valve-2"/>
<test logic="AND" value="1"> <!-- Because JSBsim will kill the engine if we cut out early -->
/engines/engine[1]/n2-actual ge /systems/ignition/starter-cutoff-n2
/systems/ignition/cutoff-2 eq 0
</test>
</switch>
<switch name="/systems/ignition/cutoff-jsb-2">
<default value="/systems/ignition/cutoff-2"/>
<test logic="AND" value="1">
/systems/ignition/auto-start-2 eq 1
/systems/ignition/cutoff-delay-2 lt 1
</test>
</switch>
<switch name="/systems/ignition/state-2">
<default value="0"/>
<test logic="AND" value="3">
/systems/ignition/cutoff-jsb-2 eq 0
/engines/engine[1]/n2-actual ge 58
</test>
<test logic="AND" value="2">
/systems/ignition/cutoff-jsb-2 eq 0
/systems/ignition/starter-jsb-2 eq 1
</test>
<test value="1">
/systems/ignition/starter-jsb-2 eq 1
</test>
<output>/engines/engine[1]/state</output>
</switch>
</channel>
<channel name="Ignition 2" execrate="8">
<switch name="/systems/ignition/ign-1/igniter-a">
<default value="0"/>
<test value="0">
/systems/ignition/ign-1/ign-avail eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 3
/controls/ignition/start-sw eq 2
position/wow eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 2
<test logic="OR">
position/wow eq 0
/systems/ignition/auto-start-1 eq 0
</test>
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 2
<test logic="OR"> <!-- FADEC A Igniter A and FADEC B Igniter A -->
/systems/acconfig/options/igniter-select-1 eq 0
/systems/acconfig/options/igniter-select-1 eq 1
</test>
</test>
</switch>
<switch name="/systems/ignition/ign-1/igniter-b">
<default value="0"/>
<test value="0">
/systems/ignition/ign-1/ign-avail eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 3
/controls/ignition/start-sw eq 2
position/wow eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 2
<test logic="OR">
position/wow eq 0
/systems/ignition/auto-start-1 eq 0
</test>
</test>
<test logic="AND" value="1">
/systems/ignition/state-1 eq 2
<test logic="OR"> <!-- FADEC A Igniter B and FADEC B Igniter B -->
/systems/acconfig/options/igniter-select-1 eq 2
/systems/acconfig/options/igniter-select-1 eq 3
</test>
</test>
</switch>
<switch name="/systems/ignition/ign-2/igniter-a">
<default value="0"/>
<test value="0">
/systems/ignition/ign-2/ign-avail eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 3
/controls/ignition/start-sw eq 2
position/wow eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 2
<test logic="OR">
position/wow eq 0
/systems/ignition/auto-start-2 eq 0
</test>
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 2
<test logic="OR"> <!-- FADEC A Igniter A and FADEC B Igniter A -->
/systems/acconfig/options/igniter-select-2 eq 0
/systems/acconfig/options/igniter-select-2 eq 1
</test>
</test>
</switch>
<switch name="/systems/ignition/ign-2/igniter-b">
<default value="0"/>
<test value="0">
/systems/ignition/ign-2/ign-avail eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 3
/controls/ignition/start-sw eq 2
position/wow eq 0
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 2
<test logic="OR">
position/wow eq 0
/systems/ignition/auto-start-2 eq 0
</test>
</test>
<test logic="AND" value="1">
/systems/ignition/state-2 eq 2
<test logic="OR"> <!-- FADEC A Igniter B and FADEC B Igniter B -->
/systems/acconfig/options/igniter-select-2 eq 2
/systems/acconfig/options/igniter-select-2 eq 3
</test>
</test>
</switch>
</channel>
</system>

View file

@ -111,38 +111,37 @@
<filter-gain>0.0</filter-gain>
</predict-simple>
<!-- Because overwriting from JSBsim doesn't work -->
<filter>
<name>OIL PSI 1</name>
<name>Engine 1 Cutoff</name>
<type>gain</type>
<gain>1.0</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/engines/engine[0]/n2-actual</property>
<entry><ind>11</ind><dep> 2</dep></entry>
<entry><ind>58</ind><dep>48</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/oil-psi-actual</output>
<input>/systems/ignition/cutoff-jsb-1</input>
<output>/controls/engines/engine[0]/cutoff</output>
</filter>
<filter>
<name>OIL PSI 2</name>
<name>Engine 2 Cutoff</name>
<type>gain</type>
<gain>1.0</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/engines/engine[1]/n2-actual</property>
<entry><ind>11</ind><dep> 2</dep></entry>
<entry><ind>58</ind><dep>48</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/oil-psi-actual</output>
<input>/systems/ignition/cutoff-jsb-2</input>
<output>/controls/engines/engine[1]/cutoff</output>
</filter>
<filter>
<name>Engine 1 Starter</name>
<type>gain</type>
<gain>1.0</gain>
<input>/systems/ignition/starter-jsb-1</input>
<output>/controls/engines/engine[0]/starter</output>
</filter>
<filter>
<name>Engine 2 Starter</name>
<type>gain</type>
<gain>1.0</gain>
<input>/systems/ignition/starter-jsb-2</input>
<output>/controls/engines/engine[1]/starter</output>
</filter>
<filter>