remove LGCIU for now... needs to be redone in a simpler, faster, less intensive way.

This commit is contained in:
Joshua Davidson 2017-02-11 01:24:11 -05:00
parent e97dbe5880
commit 2e64524f3c
6 changed files with 1 additions and 1010 deletions

View file

@ -84,7 +84,6 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>

View file

@ -77,7 +77,6 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>

View file

@ -77,7 +77,6 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>

View file

@ -79,7 +79,6 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>

View file

@ -23,703 +23,6 @@
<emissive>true</emissive>
</layer>
<layer>
<name>greentriangle1</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-green-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[1]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/nlg/isdownlock</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle1</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-red-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.01</value>
</greater-than>
</and>
</condition>
</layer>
<layer>
<name>greentriangle2</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-green-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[0]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgleft/isdownlock</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle2</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-red-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.01</value>
</greater-than>
</and>
</condition>
</layer>
<layer>
<name>greentriangle3</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-green-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[3]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgright/isdownlock</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle3</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-red-triangle.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.01</value>
</greater-than>
</and>
</condition>
</layer>
<!-- ################################## Failed LGCIU #################################-->
<layer>
<name>greentriangle1fail</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[1]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/nlg/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>greentriangle2fail</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[1]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/nlg/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle1fail</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle2fail</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>80</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>0</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/nlgpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>greentriangle2onefailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[0]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgright/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>/controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>greentriangle2twofailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[0]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgright/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>/controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle2onefailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>/controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle2twofailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>-80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgleftpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>/controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>greentriangle3onefailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[3]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgright/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>/controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>greentriangle3twofailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-gr.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<equals>
<property>gear/gear[3]/position-norm</property>
<value>1</value>
</equals>
<equals>
<property>controls/lgciu[1]/mlgright/isdownlock</property>
<value>1</value>
</equals>
<equals>
<property>/controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle3onefailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-one-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>/controls/lgciu[0]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<layer>
<name>redtriangle3twofailed</name>
<w>50</w>
<h>25</h>
<texture>
<path>Aircraft/A320Family/Models/Instruments/ECAM/res/wheel-amber-two-rd.png</path>
<x1>0.0</x1>
<y1>0.0</y1>
<x2>1</x2>
<y2>1</y2>
</texture>
<emissive>true</emissive>
<transformations>
<transformation>
<type>y-shift</type>
<offset>45</offset>
</transformation>
<transformation>
<type>x-shift</type>
<offset>80</offset>
</transformation>
</transformations>
<condition>
<and>
<less-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.99</value>
</less-than>
<greater-than>
<property>/controls/lgciu[0]/mlgrightpos</property>
<value>0.01</value>
</greater-than>
<equals>
<property>/controls/lgciu[1]/fail</property>
<value>1</value>
</equals>
</and>
</condition>
</layer>
<!-- ################################## Bottom #################################-->
<layer>
@ -867,4 +170,4 @@
</layers>
</PropertyList>
</PropertyList>

View file

@ -1,308 +0,0 @@
#### A320 Landing Gear System ####
#### Jonathan Redpath ####
#### v.0.4 ####
var lgciu_one_init = func {
setprop("controls/lgciu[0]/mlgleftpos",1); #0 = retracted, 1 = extended
setprop("controls/lgciu[0]/mlgrightpos",1); #0 = retracted, 1 = extended
setprop("controls/lgciu[0]/nlgpos",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[0]/doors/mlgleft",0); #0 = closed, 1 = open
setprop("controls/lgciu[0]/doors/mlgright",0); #0 = closed, 1 = open
setprop("controls/lgciu[0]/doors/nlg",0); #0 = closed, 1 = open
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[0]/mlgleft/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/mlgright/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/nlg/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/mlgleft/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/mlgright/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/nlg/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/hyd/greensupply",0); #0 = no, 1 = yes presently no supply as green pump is off
setprop("/controls/lgciu[0]/wow/isongroundl",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/wow/isongroundn",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/wow/isongroundr",1); #0 = no, 1 = yes
setprop("/controls/lgciu[0]/nws/nwsenabled",0); #0 = disabled 1 = enabled, must be disabled for push
setprop("/controls/lgciu[0]/inuse",1); #the LGCIUs switch between eachother on each gear cycle. eg if one LGCIU fails put the gear down and bring them up again to reset
setprop("/controls/lgciu[0]/hasbeenret",0); #has the gear been retracted with LGCIU1?
setprop("/controls/lgciu[0]/fail",0); #0 = no 1 =
setprop("/controls/lgciu[0]/emermanext",0); #0 = no 1 = begin
setprop("/controls/lgciu[0]/emermanextpos","0"); #0 = no 3 = extended can only be retracted if green hyd is available. crank must be turned 3 times clockwise so this has quotes
setprop("/controls/lgciu[0]/cargo/fwd/lock",1);
setprop("/controls/lgciu[0]/cargo/aft/lock",1);
setprop("/controls/lgciu[0]/cargo/bulk/lock",1);
setprop("/controls/lgciu[0]/cargo/fwd/open",0);
setprop("/controls/lgciu[0]/cargo/aft/open",0);
setprop("/controls/lgciu[0]/cargo/bulk/open",0);
}
var lgciu_two_init = func {
setprop("controls/lgciu[1]/mlgleftpos",1); #0 = retracted, 1 = extended
setprop("controls/lgciu[1]/mlgrightpos",1); #0 = retracted, 1 = extended
setprop("controls/lgciu[1]/nlgpos",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/doors/mlgleft",0); #0 = closed, 1 = open
setprop("controls/lgciu[1]/doors/mlgright",0); #0 = closed, 1 = open
setprop("controls/lgciu[1]/doors/nlg",0); #0 = closed, 1 = open
setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/mlgleft/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/mlgright/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/nlg/isdownlock",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/mlgleft/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/mlgright/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/nlg/isuplock",0); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/hyd/greensupply",0); #0 = no, 1 = yes presently no supply as green pump is off
setprop("/controls/lgciu[1]/wow/isongroundl",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/wow/isongroundn",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/wow/isongroundr",1); #0 = no, 1 = yes
setprop("/controls/lgciu[1]/nws/nwsenabled",0); #0 = disabled 1 = enabled, must be disabled for push
setprop("/controls/lgciu[1]/inuse",0); #the LGCIUs switch between eachother on each gear cycle. eg if one LGCIU fails put the gear down and bring them up again to reset
setprop("/controls/lgciu[1]/hasbeenret",0); #has the gear been retracted with LGCIU2?
setprop("/controls/lgciu[1]/fail",0); #0 = no 1 = yes
setprop("/controls/lgciu[1]/emermanext",0); #0 = no 1 = begin
setprop("/controls/lgciu[1]/emermanextpos","0"); #0 = no 3 = extended can only be retracted if green hyd is available. crank must be turned 3 times clockwise so this has quotes
setprop("/controls/lgciu[1]/cargo/fwd/lock",1);
setprop("/controls/lgciu[1]/cargo/aft/lock",1);
setprop("/controls/lgciu[1]/cargo/bulk/lock",1);
setprop("/controls/lgciu[1]/cargo/fwd/open",0);
setprop("/controls/lgciu[1]/cargo/aft/open",0);
setprop("/controls/lgciu[1]/cargo/bulk/open",0);
setprop("/controls/lgciu[0]/init",1); #these two properties say that 'everything is ready now'
setprop("/controls/lgciu[1]/init",1);
}
var BSCU_init = func {
setprop("/controls/BSCU/hyd/greensupply",0);
setprop("/controls/BSCU/nws/ruddlim","6");
setprop("/controls/BSCU/nws/tilllim","70");
setprop("/controls/BSCU/nws/enabled",0);
setprop("/controls/BSCU/nws/pedalsdisc",0);
setprop("/controls/BSCU/fail/nws",0);
setprop("/controls/BSCU/fail/askid",0);
setprop("/controls/BSCU/fail/BSCU",0);
setprop("/controls/BSCU/brakes/hydsupp","0"); #0 is off, 1 is grn, 2 is altn yellow accum
setprop("/controls/BSCU/brakes/mlgltemp","0"); #in celsius
setprop("/controls/BSCU/brakes/mlgrtemp","0"); #in celsius
setprop("/controls/BSCU/brakes/coolfans",0); #0 off 1 on
setprop("/controls/BSCU/brakes/loverheatplug",0); #0 off 1 on
setprop("/controls/BSCU/brakes/roverheatplug",0); #0 off 1 on
setprop("/controls/BSCU/brakes/mode","4"); #0 is norm, 1 is altn, 3 is altn no askid 4 is parkbrake
}
# for now like this. later try to do a jsbsim table
var BSCU_timer = maketimer(0.1, func(){
var ias = getprop("/velocities/airspeed-kt");
if (ias > 130) {
setprop("/controls/BSCU/nws/ruddlim","0");
} else if (ias > 70) {
setprop("/controls/BSCU/nws/tilllim","0");
} else if (ias > 57.9 and ias < 61.99 ) {
setprop("/controls/BSCU/nws/ruddlim","3.5");
}
});
# BSCU logic is A/SKID and NWS sw on, one eng running, a/c on grnd, and towing ctrl lvr in norm pos
# Initialize Landing Gear Control and Indication Unit
setlistener("/sim/signals/fdm-initialized", func {
lgciu_one_init();
lgciu_two_init();
BSCU_init();
BSCU_timer.start();
print("LGCIU System ... OK!");
print("BSCU System ... OK!");
});
### Left MLG compressor sensor to check if we are on the ground ###
setlistener("/gear/gear[0]/wow", func {
var wowmlgl = getprop("/gear/gear[0]/wow");
if (wowmlgl == 0) {
setprop("/controls/lgciu[0]/wow/isongroundl",0);
setprop("/controls/lgciu[1]/wow/isongroundl",0);
} else if (wowmlgl == 1) {
setprop("/controls/lgciu[0]/wow/isongroundl",1);
setprop("/controls/lgciu[1]/wow/isongroundl",1);
}
});
### Nose MLG compressor sensor to check if we are on the ground ###
setlistener("/gear/gear[1]/wow", func {
var wowmlgn = getprop("/gear/gear[1]/wow");
if (wowmlgn == 0) {
setprop("/controls/lgciu[0]/wow/isongroundn",0);
setprop("/controls/lgciu[1]/wow/isongroundn",0);
} else if (wowmlgn == 1) {
setprop("/controls/lgciu[0]/wow/isongroundn",1);
setprop("/controls/lgciu[1]/wow/isongroundn",1);
}
});
### Right MLG compressor sensor to check if we are on the ground ###
setlistener("/gear/gear[2]/wow", func {
var wowmlgr = getprop("/gear/gear[2]/wow");
if (wowmlgr == 0) {
setprop("/controls/lgciu[0]/wow/isongroundr",0);
setprop("/controls/lgciu[1]/wow/isongroundr",0);
} else if (wowmlgr == 1) {
setprop("/controls/lgciu[0]/wow/isongroundr",1);
setprop("/controls/lgciu[1]/wow/isongroundr",1);
}
});
### Interpolate MLG and NLG so that they take 10 seconds to move positions ###
setlistener("/controls/gear/gear-down", func {
var gr = getprop("/controls/gear/gear-down");
var mlgl = getprop("/controls/lgciu[0]/mlgleftpos");
var mlgr = getprop("/controls/lgciu[0]/mlgrightpos");
var mlgl2 = getprop("/controls/lgciu[1]/mlgleftpos");
var mlgr2 = getprop("/controls/lgciu[1]/mlgrightpos");
var nlg = getprop("/controls/lgciu[0]/nlgpos");
var nlg2 = getprop("/controls/lgciu[1]/nlgpos");
var inuseno1 = getprop("/controls/lgciu[0]/inuse");
var inuseno2 = getprop("/controls/lgciu[1]/inuse");
if ((gr == 1) and (inuseno1 == 1)) {
interpolate("/controls/lgciu[0]/mlgleftpos", 1, 10);
interpolate("/controls/lgciu[0]/mlgrightpos", 1, 10);
interpolate("/controls/lgciu[0]/nlgpos", 1, 10);
interpolate("/controls/lgciu[1]/mlgleftpos", 1, 10); #we also interpolate the other LGCIU's properties just to keep the systems from clashing
interpolate("/controls/lgciu[1]/mlgrightpos", 1, 10);
interpolate("/controls/lgciu[1]/nlgpos", 1, 10);
} else if ((gr == 1) and (inuseno2 == 1)) {
interpolate("/controls/lgciu[1]/mlgleftpos", 1, 10);
interpolate("/controls/lgciu[1]/mlgrightpos", 1, 10);
interpolate("/controls/lgciu[1]/nlgpos", 1, 10);
interpolate("/controls/lgciu[0]/mlgleftpos", 1, 10);
interpolate("/controls/lgciu[0]/mlgrightpos", 1, 10);
interpolate("/controls/lgciu[0]/nlgpos", 1, 10);
} else if ((gr == 0) and (inuseno1 == 1)) {
interpolate("/controls/lgciu[0]/mlgleftpos", 0, 10);
interpolate("/controls/lgciu[0]/mlgrightpos", 0, 10);
interpolate("/controls/lgciu[0]/nlgpos", 0, 10);
interpolate("/controls/lgciu[1]/mlgleftpos", 0, 10);
interpolate("/controls/lgciu[1]/mlgrightpos", 0, 10);
interpolate("/controls/lgciu[1]/nlgpos", 0, 10);
} else if ((gr == 0) and (inuseno2 == 1)) {
interpolate("/controls/lgciu[1]/mlgleftpos", 0, 10);
interpolate("/controls/lgciu[1]/mlgrightpos", 0, 10);
interpolate("/controls/lgciu[1]/nlgpos", 0, 10);
interpolate("/controls/lgciu[0]/mlgleftpos", 0, 10);
interpolate("/controls/lgciu[0]/mlgrightpos", 0, 10);
interpolate("/controls/lgciu[0]/nlgpos", 0, 10);
}
});
### Checking the Hydraulics and Valves ###
setlistener("/controls/gear/gear-down", func {
#var psigrn = getprop("/hydraulics/green/psi"); it0uchpods, please enable whenever hydraulic system is available
var spd = getprop("/velocities/airspeed-kt");
#if ((psigrn < 2000) or (spd > 261)) { see above line where psigrn is defined
if (spd > 261) {
setprop("/controls/gear/gear-down",0);
screen.log.write("Hydraulic Safety Valve was disconnected at 260 kts; cannot move gear!", 1, 1, 1);
}
});
### Switching between LGCIUS ###
# Putting the Gear Up
setlistener("/controls/gear/gear-down", func {
var inuse1 = getprop("/controls/lgciu[0]/inuse");
var inuse2 = getprop("/controls/lgciu[1]/inuse");
var isgearupordown = getprop("/controls/gear/gear-down");
#var hydsupp = getprop("/controls/lgciu[0]/hyd/greensupply");
#if ((inuse1 == 1) and (isgearupordown == 0) and (hydsupp == 1)) {
if ((inuse1 == 1) and (isgearupordown == 0)) {
setprop("/controls/lgciu[0]/hasbeenret",1); #we have put gear up on lgciu no 1
setprop("/controls/lgciu[0]/inuse",1); #we want to keep active LGCIU on no 1
setprop("/controls/lgciu[0]/gearlever",0); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",0); #0 = retracted, 1 = extended
} else {
#if ((inuse2 == 1) and (isgearupordown == 0) and (hydsupp == 1)) {
if ((inuse2 == 1) and (isgearupordown == 0)) {
setprop("/controls/lgciu[1]/hasbeenret",1); #we have put gear up on lgciu no 2
setprop("/controls/lgciu[1]/inuse",1); #we want to keep active LGCIU on no 2
setprop("/controls/lgciu[0]/gearlever",0); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",0); #0 = retracted, 1 = extended
} else {
}
}
});
# Putting the Gear Down Again
setlistener("/controls/gear/gear-down", func {
var inuse1 = getprop("/controls/lgciu[0]/inuse");
var inuse2 = getprop("/controls/lgciu[1]/inuse");
var hasbeen1 = getprop("/controls/lgciu[0]/hasbeenret");
var hasbeen2 = getprop("/controls/lgciu[1]/hasbeenret");
var isgearupordown = getprop("/controls/gear/gear-down");
var hydsupp = getprop("/controls/lgciu[0]/hyd/greensupply");
var no1fail = getprop("/controls/lgciu[0]/fail");
var no2fail = getprop("/controls/lgciu[1]/fail");
if ((inuse1 == 1) and (isgearupordown == 1) and (hasbeen1 == 1) and (hydsupp == 1)) {
setprop("/controls/lgciu[0]/hasbeenret",0); #reset retraction sensor
setprop("/controls/lgciu[0]/inuse",0); #we want to switch to no 2 after putting the gear down
setprop("/controls/lgciu[1]/inuse",1);
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
} else if ((inuse2 == 1) and (isgearupordown == 1) and (hasbeen2 == 1) and (hydsupp == 1)) {
setprop("/controls/lgciu[1]/hasbeenret",0); #reset retraction sensor
setprop("/controls/lgciu[0]/inuse",1); #we want to switch to no 1 after putting the gear down
setprop("/controls/lgciu[1]/inuse",0);
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
} else if ((inuse1 == 1) and (isgearupordown == 1) and (hasbeen1 == 1) and (hydsupp ==1) and (no2fail == 1)) {
setprop("/controls/lgciu[0]/hasbeenret",0); #reset retraction sensor
setprop("/controls/lgciu[0]/inuse",1); #we want to switch to no 2 after putting the gear down but we cant because it is failed
setprop("/controls/lgciu[1]/inuse",0);
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
} else if ((inuse1 == 2) and (isgearupordown == 1) and (hasbeen2 == 1) and (hydsupp ==1) and (no1fail == 1)) {
setprop("/controls/lgciu[0]/hasbeenret",0); #reset retraction sensor
setprop("/controls/lgciu[1]/inuse",1); #we want to switch to no 1 after putting the gear down but we cant because it is failed
setprop("/controls/lgciu[0]/inuse",0);
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
}
}
);
# No 1 failed
setlistener("/controls/lgciu[0]/fail", func {
var no1fail = getprop("/controls/lgciu[0]/fail");
if (no1fail == 1) {
setprop("/controls/lgciu[0]/inuse",0);
setprop("/controls/lgciu[1]/inuse",1);
print("LGCIU No 1... Failed!");
} else {
print("LGCIU No 1... Serviceable!");
}
});
# No 2 failed
setlistener("/controls/lgciu[1]/fail", func {
var no2fail = getprop("/controls/lgciu[1]/fail");
if (no2fail == 1) {
setprop("/controls/lgciu[1]/inuse",0);
setprop("/controls/lgciu[0]/inuse",1);
print("LGCIU No 2... Failed!");
} else {
print("LGCIU No 2... Serviceable!");
}
});
# BSCU failed
setlistener("/controls/BSCU/fail/BSCU", func {
var bscufail = getprop("/controls/BSCU/fail/BSCU");
if (bscufail == 1) {
print("BSCU... Failed!");
} else {
print("BSCU... Serviceable!");
}
});