LGCIU failure system

This commit is contained in:
Jonathan Redpath 2016-12-12 18:02:51 +00:00
parent 8a7615cef2
commit d0c6ab8e2d

View file

@ -24,6 +24,7 @@ var lgciu_one_init = func {
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]/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]/hasbeenret",0); #has the gear been retracted with LGCIU1?
setprop("/controls/lgciu[0]/fail",0); #0 = no 1 = yes setprop("/controls/lgciu[0]/fail",0); #0 = no 1 = yes
setprop("/controls/lgciu[0]/emermanext",0); #0 = no 1 = extended can only be retracted if green hyd is available
} }
var lgciu_two_init = func { var lgciu_two_init = func {
@ -48,6 +49,7 @@ var lgciu_two_init = func {
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]/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]/hasbeenret",0); #has the gear been retracted with LGCIU2?
setprop("/controls/lgciu[1]/fail",0); #0 = no 1 = yes setprop("/controls/lgciu[1]/fail",0); #0 = no 1 = yes
setprop("/controls/lgciu[1]/emermanext",0); #0 = no 1 = extended can only be retracted if green hyd is available
} }
@ -161,11 +163,13 @@ if ((inuse1 == 1) and (isgearupordown == 0) and (hydsupp == 1)) {
setprop("/controls/lgciu[0]/hasbeenret",1); #we have put gear up on lgciu no 1 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]/inuse",1); #we want to keep active LGCIU on no 1
setprop("/controls/lgciu[0]/gearlever",0); #0 = retracted, 1 = extended setprop("/controls/lgciu[0]/gearlever",0); #0 = retracted, 1 = extended
setprop("/controls/lgciu[1]/gearlever",0); #0 = retracted, 1 = extended
} else { } else {
if ((inuse2 == 1) and (isgearupordown == 0) and (hydsupp == 1)) { if ((inuse2 == 1) and (isgearupordown == 0) and (hydsupp == 1)) {
setprop("/controls/lgciu[1]/hasbeenret",1); #we have put gear up on lgciu no 2 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[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 setprop("/controls/lgciu[1]/gearlever",0); #0 = retracted, 1 = extended
} else { } else {
} }
@ -180,19 +184,53 @@ var hasbeen1 = getprop("/controls/lgciu[0]/hasbeenret");
var hasbeen2 = getprop("/controls/lgciu[1]/hasbeenret"); var hasbeen2 = getprop("/controls/lgciu[1]/hasbeenret");
var isgearupordown = getprop("/controls/gear/gear-down"); var isgearupordown = getprop("/controls/gear/gear-down");
var hydsupp = getprop("/controls/lgciu[0]/hyd/greensupply"); 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)) { 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]/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[0]/inuse",0); #we want to switch to no 2 after putting the gear down
setprop("/controls/lgciu[1]/inuse",1); setprop("/controls/lgciu[1]/inuse",1);
setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended setprop("/controls/lgciu[0]/gearlever",1); #0 = retracted, 1 = extended
} else { setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
if ((inuse2 == 1) and (isgearupordown == 1) and (hasbeen2 == 1) and (hydsupp == 1)) { } 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[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[0]/inuse",1); #we want to switch to no 1 after putting the gear down
setprop("/controls/lgciu[1]/inuse",0); 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 setprop("/controls/lgciu[1]/gearlever",1); #0 = retracted, 1 = extended
} else {
}
} }
}); });
# 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);
} 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);
} else {
print("LGCIU No 2... Serviceable!");
}
});