Agent 1 timer works, need to fix agent 2 timer
This commit is contained in:
parent
4b96cde9da
commit
cc13067a49
3 changed files with 140 additions and 20 deletions
|
@ -270,10 +270,39 @@ var messages_priority_3 = func {
|
||||||
ECAM_controller.warningReset(eng1FireFlPB);
|
ECAM_controller.warningReset(eng1FireFlPB);
|
||||||
}
|
}
|
||||||
|
|
||||||
eng1FireFlAgent1.active = 1;
|
if (getprop("/systems/fire/engine1/agent1-timer") != 0 and getprop("/systems/fire/engine1/agent1-timer") != 99) {
|
||||||
eng1FireFlATC.active = 1;
|
eng1FireFlAgent1Timer.msg = " -AGENT AFT " ~ getprop("/systems/fire/engine1/agent1-timer") ~ " S...DISCH";
|
||||||
eng1FireFl30Sec.active = 1;
|
}
|
||||||
eng1FireFlAgent2.active = 1;
|
|
||||||
|
if (eng1FireFlAgent1.clearFlag == 0 and !getprop("/systems/fire/engine1/disch1") and getprop("/systems/fire/engine1/agent1-timer") != 0 and getprop("/systems/fire/engine1/agent1-timer") != 99) {
|
||||||
|
eng1FireFlAgent1Timer.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng1FireFlAgent1Timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng1FireFlAgent1.clearFlag == 0 and !getprop("/systems/fire/engine1/disch1") and (getprop("/systems/fire/engine1/agent1-timer") == 0 or getprop("/systems/fire/engine1/agent1-timer") == 99)) {
|
||||||
|
eng1FireFlAgent1.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng1FireFlAgent1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng1FireFlATC.clearFlag == 0) {
|
||||||
|
eng1FireFlATC.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng1FireFlATC);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getprop("/systems/fire/engine1/agent2-timer") != 0 and getprop("/systems/fire/engine1/agent2-timer") != 99) {
|
||||||
|
eng1FireFl30Sec.msg = "•IF FIRE AFTER " ~ getprop("/systems/fire/engine1/agent2-timer") ~ " S:";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng1FireFlAgent2.clearFlag == 0 and !getprop("/systems/fire/engine1/disch2")) {
|
||||||
|
eng1FireFl30Sec.active = 1;
|
||||||
|
eng1FireFlAgent2.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng1FireFl30Sec);
|
||||||
|
ECAM_controller.warningReset(eng1FireFlAgent2);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ECAM_controller.warningReset(eng1FireFllever);
|
ECAM_controller.warningReset(eng1FireFllever);
|
||||||
ECAM_controller.warningReset(eng1FireFlmaster);
|
ECAM_controller.warningReset(eng1FireFlmaster);
|
||||||
|
@ -317,13 +346,57 @@ var messages_priority_3 = func {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eng2FireFl.active == 1) {
|
if (eng2FireFl.active == 1) {
|
||||||
eng2FireFllever.active = 1;
|
if (eng2FireFllever.clearFlag == 0 and getprop("/fdm/jsbsim/fcs/throttle-lever[1]") > 0.01) {
|
||||||
eng2FireFlmaster.active = 1;
|
eng2FireFllever.active = 1;
|
||||||
eng2FireFlPB.active = 1;
|
} else {
|
||||||
eng2FireFlAgent1.active = 1;
|
ECAM_controller.warningReset(eng2FireFllever);
|
||||||
eng2FireFlATC.active = 1;
|
}
|
||||||
eng2FireFl30Sec.active = 1;
|
|
||||||
eng2FireFlAgent2.active = 1;
|
if (eng2FireFlmaster.clearFlag == 0 and getprop("/controls/engines/engine[1]/cutoff-switch") == 0) {
|
||||||
|
eng2FireFlmaster.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFlmaster);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng2FireFlPB.clearFlag == 0 and getprop("/controls/engines/engine[1]/fire-btn") == 0) {
|
||||||
|
eng2FireFlPB.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFlPB);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getprop("/systems/fire/engine2/agent1-timer") != 0 and getprop("/systems/fire/engine2/agent1-timer") != 99) {
|
||||||
|
eng2FireFlAgent1Timer.msg = " -AGENT AFT " ~ getprop("/systems/fire/engine2/agent1-timer") ~ " S...DISCH";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng2FireFlAgent1.clearFlag == 0 and !getprop("/systems/fire/engine2/disch1") and getprop("/systems/fire/engine1/agent2-timer") != 0 and getprop("/systems/fire/engine2/agent1-timer") != 99) {
|
||||||
|
eng2FireFlAgent1Timer.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFlAgent1Timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng2FireFlAgent1.clearFlag == 0 and !getprop("/systems/fire/engine2/disch1") and (getprop("/systems/fire/engine2/agent1-timer") == 0 or getprop("/systems/fire/engine2/agent1-timer") == 99)) {
|
||||||
|
eng2FireFlAgent1.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFlAgent1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng2FireFlATC.clearFlag == 0) {
|
||||||
|
eng2FireFlATC.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFlATC);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getprop("/systems/fire/engine2/agent2-timer") != 0 and getprop("/systems/fire/engine2/agent2-timer") != 99) {
|
||||||
|
eng2FireFl30Sec.msg = "•IF FIRE AFTER " ~ getprop("/systems/fire/engine2/agent2-timer") ~ " S:";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eng2FireFlAgent2.clearFlag == 0 and !getprop("/systems/fire/engine2/disch2")) {
|
||||||
|
eng2FireFl30Sec.active = 1;
|
||||||
|
eng2FireFlAgent2.active = 1;
|
||||||
|
} else {
|
||||||
|
ECAM_controller.warningReset(eng2FireFl30Sec);
|
||||||
|
ECAM_controller.warningReset(eng2FireFlAgent2);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ECAM_controller.warningReset(eng2FireFllever);
|
ECAM_controller.warningReset(eng2FireFllever);
|
||||||
ECAM_controller.warningReset(eng2FireFlmaster);
|
ECAM_controller.warningReset(eng2FireFlmaster);
|
||||||
|
|
|
@ -47,9 +47,10 @@ var warnings = std.Vector.new([
|
||||||
var eng1FireFllever = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
|
var eng1FireFllever = warning.new(msg: " -THR LEVER 1.......IDLE", colour: "c"),
|
||||||
var eng1FireFlmaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
|
var eng1FireFlmaster = warning.new(msg: " -ENG MASTER 1.......OFF", colour: "c"),
|
||||||
var eng1FireFlPB = warning.new(msg: " -ENG 1 FIRE P/B....PUSH", colour: "c"),
|
var eng1FireFlPB = warning.new(msg: " -ENG 1 FIRE P/B....PUSH", colour: "c"),
|
||||||
var eng1FireFlAgent1 = warning.new(msg: " -AGENT 1 AFT 10 S.DISCH", colour: "w"),
|
var eng1FireFlAgent1Timer = warning.new(msg: " -AGENT 1 AFT 10 S.DISCH", colour: "w"),
|
||||||
|
var eng1FireFlAgent1 = warning.new(msg: " -AGENT 1..........DISCH", colour: "c"),
|
||||||
var eng1FireFlATC = warning.new(msg: " -ATC.............NOTIFY", colour: "c"),
|
var eng1FireFlATC = warning.new(msg: " -ATC.............NOTIFY", colour: "c"),
|
||||||
var eng1FireFl30Sec = warning.new(msg: " •IF FIRE AFTER 30 S:", colour: "w"),
|
var eng1FireFl30Sec = warning.new(msg: " •IF FIRE AFTER 30 S:", colour: "w", hasSubmsg: 1),
|
||||||
var eng1FireFlAgent2 = warning.new(msg: " -AGENT 2..........DISCH", colour: "c"),
|
var eng1FireFlAgent2 = warning.new(msg: " -AGENT 2..........DISCH", colour: "c"),
|
||||||
|
|
||||||
# ENG 1 FIRE (ground)
|
# ENG 1 FIRE (ground)
|
||||||
|
|
|
@ -36,11 +36,15 @@ var testBtn2 = props.globals.getNode("/controls/fire/test-btn-2", 1);
|
||||||
var eng1FireWarn = props.globals.initNode("/systems/fire/engine1/warning-active", 0, "BOOL");
|
var eng1FireWarn = props.globals.initNode("/systems/fire/engine1/warning-active", 0, "BOOL");
|
||||||
var eng2FireWarn = props.globals.initNode("/systems/fire/engine2/warning-active", 0, "BOOL");
|
var eng2FireWarn = props.globals.initNode("/systems/fire/engine2/warning-active", 0, "BOOL");
|
||||||
var apuFireWarn = props.globals.initNode("/systems/fire/apu/warning-active", 0, "BOOL");
|
var apuFireWarn = props.globals.initNode("/systems/fire/apu/warning-active", 0, "BOOL");
|
||||||
var eng1AgentTimer = props.globals.initNode("/systems/fire/engine1/agent-timer", 99, "INT");
|
var eng1AgentTimer = props.globals.initNode("/systems/fire/engine1/agent1-timer", 99, "INT");
|
||||||
var eng2AgentTimer = props.globals.initNode("/systems/fire/engine2/agent-timer", 99, "INT");
|
var eng2AgentTimer = props.globals.initNode("/systems/fire/engine2/agent1-timer", 99, "INT");
|
||||||
|
var eng1Agent2Timer = props.globals.initNode("/systems/fire/engine1/agent2-timer", 99, "INT");
|
||||||
|
var eng2Agent2Timer = props.globals.initNode("/systems/fire/engine2/agent2-timer", 99, "INT");
|
||||||
var apuAgentTimer = props.globals.initNode("/systems/fire/apu/agent-timer", 99, "INT");
|
var apuAgentTimer = props.globals.initNode("/systems/fire/apu/agent-timer", 99, "INT");
|
||||||
var eng1AgentTimerTime = props.globals.initNode("/systems/fire/engine1/agent-timer-time", 0, "INT");
|
var eng1AgentTimerTime = props.globals.initNode("/systems/fire/engine1/agent1-timer-time", 0, "INT");
|
||||||
var eng2AgentTimerTime = props.globals.initNode("/systems/fire/engine2/agent-timer-time", 0, "INT");
|
var eng2AgentTimerTime = props.globals.initNode("/systems/fire/engine2/agent1-timer-time", 0, "INT");
|
||||||
|
var eng1Agent2TimerTime = props.globals.initNode("/systems/fire/engine1/agent2-timer-time", 0, "INT");
|
||||||
|
var eng2Agent2TimerTime = props.globals.initNode("/systems/fire/engine2/agent2-timer-time", 0, "INT");
|
||||||
var apuAgentTimerTime = props.globals.initNode("/systems/fire/apu/agent-timer-time", 0, "INT");
|
var apuAgentTimerTime = props.globals.initNode("/systems/fire/apu/agent-timer-time", 0, "INT");
|
||||||
var wow = props.globals.getNode("/fdm/jsbsim/position/wow", 1);
|
var wow = props.globals.getNode("/fdm/jsbsim/position/wow", 1);
|
||||||
var dcbatNode = props.globals.getNode("systems/electrical/bus/dcbat", 1);
|
var dcbatNode = props.globals.getNode("systems/electrical/bus/dcbat", 1);
|
||||||
|
@ -373,7 +377,7 @@ var extinguisherBottle = {
|
||||||
return eB;
|
return eB;
|
||||||
},
|
},
|
||||||
emptyBottle: func() {
|
emptyBottle: func() {
|
||||||
me.quantity -= 5;
|
me.quantity -= 10;
|
||||||
if (me.quantity > 0) {
|
if (me.quantity > 0) {
|
||||||
settimer(func() {
|
settimer(func() {
|
||||||
me.emptyBottle()
|
me.emptyBottle()
|
||||||
|
@ -519,11 +523,20 @@ setlistener("/controls/engines/engine[0]/fire-btn", func() {
|
||||||
ecam.shutUpYou();
|
ecam.shutUpYou();
|
||||||
eng1AgentTimerMakeTimer.stop();
|
eng1AgentTimerMakeTimer.stop();
|
||||||
eng1AgentTimer.setValue(10);
|
eng1AgentTimer.setValue(10);
|
||||||
eng1AgentTimerTime.setValue(elapsedTime.getValue() + 10);
|
eng1AgentTimerTime.setValue(elapsedTime.getValue() + 11);
|
||||||
eng1AgentTimerMakeTimer.start();
|
eng1AgentTimerMakeTimer.start();
|
||||||
}
|
}
|
||||||
}, 0, 0);
|
}, 0, 0);
|
||||||
|
|
||||||
|
setlistener("/systems/fire/engine1/disch1", func() {
|
||||||
|
if (getprop("/systems/fire/engine1/disch1") == 1) {
|
||||||
|
eng1Agent2TimerMakeTimer.stop();
|
||||||
|
eng1Agent2Timer.setValue(30);
|
||||||
|
eng1Agent2TimerTime.setValue(elapsedTime.getValue() + 31);
|
||||||
|
eng1Agent2TimerMakeTimer.start();
|
||||||
|
}
|
||||||
|
}, 0, 0);
|
||||||
|
|
||||||
eng1AgentTimerMakeTimerFunc = func() {
|
eng1AgentTimerMakeTimerFunc = func() {
|
||||||
if (eng1AgentTimer.getValue() > 0) {
|
if (eng1AgentTimer.getValue() > 0) {
|
||||||
var eng1Time = eng1AgentTimerTime.getValue();
|
var eng1Time = eng1AgentTimerTime.getValue();
|
||||||
|
@ -535,16 +548,36 @@ eng1AgentTimerMakeTimerFunc = func() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eng1Agent2TimerMakeTimerFunc = func() {
|
||||||
|
if (eng1Agent2Timer.getValue() > 0) {
|
||||||
|
var eng1Time2 = eng1AgentTimerTime.getValue();
|
||||||
|
var etEng12 = elapsedTime.getValue();
|
||||||
|
var timeToSetEng12 = eng1Time2 - etEng12;
|
||||||
|
eng1Agent2Timer.setValue(timeToSetEng12);
|
||||||
|
} else {
|
||||||
|
eng1Agent2TimerMakeTimer.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setlistener("/controls/engines/engine[1]/fire-btn", func() {
|
setlistener("/controls/engines/engine[1]/fire-btn", func() {
|
||||||
if (getprop("/controls/engines/engine[1]/fire-btn") == 1) {
|
if (getprop("/controls/engines/engine[1]/fire-btn") == 1) {
|
||||||
ecam.shutUpYou();
|
ecam.shutUpYou();
|
||||||
eng2AgentTimerMakeTimer.stop();
|
eng2AgentTimerMakeTimer.stop();
|
||||||
eng2AgentTimer.setValue(10);
|
eng2AgentTimer.setValue(10);
|
||||||
eng2AgentTimerTime.setValue(elapsedTime.getValue() + 10);
|
eng2AgentTimerTime.setValue(elapsedTime.getValue() + 11);
|
||||||
eng2AgentTimerMakeTimer.start();
|
eng2AgentTimerMakeTimer.start();
|
||||||
}
|
}
|
||||||
}, 0, 0);
|
}, 0, 0);
|
||||||
|
|
||||||
|
setlistener("/systems/fire/engine2/disch1", func() {
|
||||||
|
if (getprop("/systems/fire/engine2/disch1") == 1) {
|
||||||
|
eng2Agent2TimerMakeTimer.stop();
|
||||||
|
eng2Agent2Timer.setValue(30);
|
||||||
|
eng2Agent2TimerTime.setValue(elapsedTime.getValue() + 31);
|
||||||
|
eng2Agent2TimerMakeTimer.start();
|
||||||
|
}
|
||||||
|
}, 0, 0);
|
||||||
|
|
||||||
eng2AgentTimerMakeTimerFunc = func() {
|
eng2AgentTimerMakeTimerFunc = func() {
|
||||||
if (eng2AgentTimer.getValue() > 0) {
|
if (eng2AgentTimer.getValue() > 0) {
|
||||||
var eng2Time = eng2AgentTimerTime.getValue();
|
var eng2Time = eng2AgentTimerTime.getValue();
|
||||||
|
@ -556,6 +589,17 @@ eng2AgentTimerMakeTimerFunc = func() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eng2Agent2TimerMakeTimerFunc = func() {
|
||||||
|
if (eng2Agent2Timer.getValue() > 0) {
|
||||||
|
var eng2Time2 = eng2AgentTimerTime.getValue();
|
||||||
|
var etEng22 = elapsedTime.getValue();
|
||||||
|
var timeToSetEng22 = eng2Time2 - etEng22;
|
||||||
|
eng2Agent2Timer.setValue(timeToSetEng22);
|
||||||
|
} else {
|
||||||
|
eng2Agent2TimerMakeTimer.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setlistener("/controls/APU/fire-btn", func() {
|
setlistener("/controls/APU/fire-btn", func() {
|
||||||
if (getprop("/controls/APU/fire-btn") == 1) {
|
if (getprop("/controls/APU/fire-btn") == 1) {
|
||||||
ecam.shutUpYou();
|
ecam.shutUpYou();
|
||||||
|
@ -641,4 +685,6 @@ var update_fire = func() {
|
||||||
var fire_timer = maketimer(0.2, update_fire);
|
var fire_timer = maketimer(0.2, update_fire);
|
||||||
var eng1AgentTimerMakeTimer = maketimer(0.1, eng1AgentTimerMakeTimerFunc);
|
var eng1AgentTimerMakeTimer = maketimer(0.1, eng1AgentTimerMakeTimerFunc);
|
||||||
var eng2AgentTimerMakeTimer = maketimer(0.1, eng2AgentTimerMakeTimerFunc);
|
var eng2AgentTimerMakeTimer = maketimer(0.1, eng2AgentTimerMakeTimerFunc);
|
||||||
|
var eng1Agent2TimerMakeTimer = maketimer(0.1, eng1Agent2TimerMakeTimerFunc);
|
||||||
|
var eng2Agent2TimerMakeTimer = maketimer(0.1, eng2Agent2TimerMakeTimerFunc);
|
||||||
var apuAgentTimerMakeTimer = maketimer(0.1, apuAgentTimerMakeTimerFunc);
|
var apuAgentTimerMakeTimer = maketimer(0.1, apuAgentTimerMakeTimerFunc);
|
Reference in a new issue