diff --git a/AircraftConfig/acconfig.nas b/AircraftConfig/acconfig.nas
index d566f8d5..e26f5a49 100644
--- a/AircraftConfig/acconfig.nas
+++ b/AircraftConfig/acconfig.nas
@@ -99,6 +99,7 @@ var systemsReset = func {
systems.pneu_init();
systems.hyd_init();
systems.fuel_init();
+ systems.eng_init();
fmgc.FMGCinit();
mcdu1.MCDU_reset();
mcdu2.MCDU_reset();
diff --git a/Models/Instruments/OHpanel/OHpanel.xml b/Models/Instruments/OHpanel/OHpanel.xml
index 7e74e9e6..8f654eeb 100644
--- a/Models/Instruments/OHpanel/OHpanel.xml
+++ b/Models/Instruments/OHpanel/OHpanel.xml
@@ -79,8 +79,10 @@
Eng2AntiIceBtn2O
Eng1BleedBtn1F
Eng1BleedBtn2O
+ Eng1ManStartBtn2O
Eng2BleedBtn1F
Eng2BleedBtn2O
+ Eng2ManStartBtn2O
FuelModeBtn1F
FuelModeBtn2O
FuelXfeedBtn1A
@@ -4322,7 +4324,214 @@
-
+
+
+
+ pick
+ Eng1ManStartBtn1
+ Eng1ManStartBtn2
+ Eng1ManStartBtn2O
+
+
+ false
+
+
+
+
+ /controls/OH/protectors/eng1-manstart
+ 1
+
+
+
+ /systems/electrical/bus/dc1
+ 25
+
+
+ /systems/electrical/bus/dc2
+ 25
+
+
+
+
+ property-toggle
+ /controls/engines/engine[0]/man-start
+
+
+
+
+ /controls/OH/protectors/eng1-manstart
+ 1
+
+
+ nasal
+
+
+
+
+
+
+ pick
+ Eng1ManStartBtn1
+ Eng1ManStartBtn2
+ Eng1ManStartBtn2O
+ Eng1ManStartProt
+
+
+ false
+
+ property-assign
+ /controls/OH/protectors/eng1-manstart
+ 1
+
+
+
+ property-assign
+ /controls/OH/protectors/eng1-manstart
+ 0
+
+
+ nasal
+
+
+
+
+
+
+
+ rotate
+ Eng1ManStartProt
+ /controls/OH/protectors/eng1-manstart
+ -145
+
+ -0.00641
+ 0.18647
+ -0.20418
+ -0.00353
+ 0.20925
+ -0.20418
+
+
+
+
+ select
+ Eng1ManStartBtn2O
+
+
+
+ /controls/engines/engine[0]/man-start
+ 1
+
+
+ /controls/switches/annun-test
+ 1
+
+
+
+
+
+
+ pick
+ Eng2ManStartBtn1
+ Eng2ManStartBtn2
+ Eng2ManStartBtn2O
+
+
+ false
+
+
+
+
+ /controls/OH/protectors/eng2-manstart
+ 1
+
+
+
+ /systems/electrical/bus/dc1
+ 25
+
+
+ /systems/electrical/bus/dc2
+ 25
+
+
+
+
+ property-toggle
+ /controls/engines/engine[1]/man-start
+
+
+
+
+ /controls/OH/protectors/eng2-manstart
+ 1
+
+
+ nasal
+
+
+
+
+
+
+ pick
+ Eng2ManStartBtn1
+ Eng2ManStartBtn2
+ Eng2ManStartBtn2O
+ Eng2ManStartProt
+
+
+ false
+
+ property-assign
+ /controls/OH/protectors/eng2-manstart
+ 1
+
+
+
+ property-assign
+ /controls/OH/protectors/eng2-manstart
+ 0
+
+
+ nasal
+
+
+
+
+
+
+
+ rotate
+ Eng2ManStartProt
+ /controls/OH/protectors/eng2-manstart
+ -145
+
+ -0.00226
+ 0.21793
+ -0.20418
+ 0.00062
+ 0.24071
+ -0.20418
+
+
+
+
+ select
+ Eng2ManStartBtn2O
+
+
+
+ /controls/engines/engine[1]/man-start
+ 1
+
+
+ /controls/switches/annun-test
+ 1
+
+
+
+
+
Overhead panel light pick
diff --git a/Models/Instruments/OHpanel/res/ohpanel.ac b/Models/Instruments/OHpanel/res/ohpanel.ac
index 2d116d51..21f76f46 100644
--- a/Models/Instruments/OHpanel/res/ohpanel.ac
+++ b/Models/Instruments/OHpanel/res/ohpanel.ac
@@ -9,7 +9,99 @@ MATERIAL "Switch" rgb 0.678431 0.678431 0.678431 amb 0.678431 0.678431 0.678431
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 1 1 1 shi 128 trans 0
MATERIAL "DefaultWhite.002" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.0015 0.0015 0.0015 shi 50 trans 0
OBJECT world
-kids 285
+kids 287
+OBJECT poly
+name "Eng1ManStartBtn2O"
+loc 0.000119683 -5.00064e-005 -4.99785e-005
+data 8
+Cube.027
+texture "buttons2.png"
+crease 30.000000
+numvert 8
+-0.001687 -0.2257 -0.207197
+-0.004168 -0.2257 -0.187351
+-0.007144 -0.2257 -0.187723
+-0.004664 -0.2257 -0.207569
+-0.001687 -0.2157 -0.207197
+-0.004168 -0.2157 -0.187351
+-0.007144 -0.2157 -0.187723
+-0.004664 -0.2157 -0.207569
+numsurf 4
+SURF 0x0
+mat 4
+refs 4
+0 0.5 0.5
+1 0 0.5
+2 0 0.5
+3 0.5 0.5
+SURF 0x0
+mat 4
+refs 4
+0 0.5 0.5
+4 0.5 0.75
+5 9.31321e-008 0.75
+1 0 0.5
+SURF 0x0
+mat 4
+refs 4
+1 0 0.5
+5 9.31321e-008 0.75
+6 9.31321e-008 0.75
+2 0 0.5
+SURF 0x0
+mat 4
+refs 4
+4 0.5 0.75
+0 0.5 0.5
+3 0.5 0.5
+7 0.5 0.75
+kids 0
+OBJECT poly
+name "Eng2ManStartBtn2O"
+loc 0.000119683 -5.00064e-005 -4.99785e-005
+data 8
+Cube.090
+texture "buttons2.png"
+crease 30.000000
+numvert 8
+0.002245 -0.2257 -0.238652
+-0.000235999 -0.2257 -0.218806
+-0.003213 -0.2257 -0.219178
+-0.000731999 -0.2257 -0.239024
+0.002245 -0.2157 -0.238652
+-0.000235999 -0.2157 -0.218806
+-0.003213 -0.2157 -0.219178
+-0.000731999 -0.2157 -0.239024
+numsurf 4
+SURF 0x0
+mat 4
+refs 4
+0 0.5 0.5
+1 0 0.5
+2 0 0.5
+3 0.5 0.5
+SURF 0x0
+mat 4
+refs 4
+0 0.5 0.5
+4 0.5 0.75
+5 9.31321e-008 0.75
+1 0 0.5
+SURF 0x0
+mat 4
+refs 4
+1 0 0.5
+5 9.31321e-008 0.75
+6 9.31321e-008 0.75
+2 0 0.5
+SURF 0x0
+mat 4
+refs 4
+4 0.5 0.75
+0 0.5 0.5
+3 0.5 0.5
+7 0.5 0.75
+kids 0
OBJECT poly
name "Eng1ManStartProt"
loc 7.05261 -5.75766 0.649317
diff --git a/Nasal/engines.nas b/Nasal/engines.nas
index 822235a2..5810cb80 100644
--- a/Nasal/engines.nas
+++ b/Nasal/engines.nas
@@ -32,6 +32,11 @@ setprop("/systems/apu/egt", 42);
setprop("/controls/engines/engine[0]/reverser", 0);
setprop("/controls/engines/engine[1]/reverser", 0);
+var eng_init = func {
+ setprop("/controls/engines/engine[0]/man-start", 0);
+ setprop("/controls/engines/engine[1]/man-start", 0);
+}
+
##############################
# Trigger Startups and Stops #
##############################
@@ -45,6 +50,7 @@ setlistener("/controls/engines/engine[0]/cutoff-switch", func {
eng_one_man_startt.start();
}
} else if (getprop("/controls/engines/engine[0]/cutoff-switch") == 1) {
+ setprop("/controls/engines/engine[0]/man-start", 0);
setprop("/systems/pneumatic/eng1-starter", 0);
setprop("/controls/engines/engine[0]/starter", 0);
setprop("/controls/engines/engine[0]/cutoff", 1);
@@ -54,6 +60,24 @@ setlistener("/controls/engines/engine[0]/cutoff-switch", func {
}
});
+setlistener("/controls/engines/engine[0]/man-start", func {
+ start_one_mancheck();
+});
+
+var start_one_mancheck = func {
+ if (getprop("/controls/engines/engine[0]/man-start") == 1) {
+ if ((getprop("/controls/engines/engine-start-switch") == 2) and (getprop("/systems/pneumatic/total-psi") >= 28) and (getprop("/controls/engines/engine[0]/cutoff-switch") == 1)) {
+ setprop("/engines/engine[0]/state", 1);
+ setprop("/controls/engines/engine[0]/starter", 1);
+ }
+ } else {
+ if (getprop("/engines/engine[0]/state") == 1 or getprop("/engines/engine[0]/state") == 2) {
+ setprop("/engines/engine[0]/state", 0);
+ setprop("/controls/engines/engine[0]/starter", 0);
+ }
+ }
+}
+
var start_one_check = func {
settimer(start_one_check_b, 0.3);
}
@@ -73,6 +97,7 @@ setlistener("/controls/engines/engine[1]/cutoff-switch", func {
eng_two_man_startt.start();
}
} else if (getprop("/controls/engines/engine[1]/cutoff-switch") == 1) {
+ setprop("/controls/engines/engine[1]/man-start", 0);
setprop("/systems/pneumatic/eng2-starter", 0);
setprop("/controls/engines/engine[1]/starter", 0);
setprop("/controls/engines/engine[1]/cutoff", 1);
@@ -81,6 +106,24 @@ setlistener("/controls/engines/engine[1]/cutoff-switch", func {
}
});
+setlistener("/controls/engines/engine[1]/man-start", func {
+ start_two_mancheck();
+});
+
+var start_two_mancheck = func {
+ if (getprop("/controls/engines/engine[1]/man-start") == 1) {
+ if ((getprop("/controls/engines/engine-start-switch") == 2) and (getprop("/systems/pneumatic/total-psi") >= 28) and (getprop("/controls/engines/engine[1]/cutoff-switch") == 1)) {
+ setprop("/engines/engine[1]/state", 1);
+ setprop("/controls/engines/engine[1]/starter", 1);
+ }
+ } else {
+ if (getprop("/engines/engine[1]/state") == 1 or getprop("/engines/engine[1]/state") == 2) {
+ setprop("/engines/engine[1]/state", 0);
+ setprop("/controls/engines/engine[1]/starter", 0);
+ }
+ }
+}
+
var start_two_check = func {
settimer(start_two_check_b, 0.3);
}
@@ -215,9 +258,11 @@ var apu_stop = func {
setlistener("/controls/engines/engine-start-switch", func {
if (getprop("/engines/engine[0]/state") == 0) {
start_one_check();
+ start_one_mancheck();
}
if (getprop("/engines/engine[1]/state") == 0) {
start_two_check();
+ start_two_mancheck();
}
if ((getprop("/controls/engines/engine-start-switch") == 0) or (getprop("/controls/engines/engine-start-switch") == 1)) {
if (getprop("/engines/engine[0]/state") == 1 or getprop("/engines/engine[0]/state") == 2) {
diff --git a/Nasal/libraries.nas b/Nasal/libraries.nas
index f2471cde..8955d813 100644
--- a/Nasal/libraries.nas
+++ b/Nasal/libraries.nas
@@ -186,6 +186,7 @@ setlistener("/sim/signals/fdm-initialized", func {
systems.pneu_init();
systems.hyd_init();
systems.fuel_init();
+ systems.eng_init();
fmgc.APinit();
librariesLoop.start();
fmgc.FMGCinit();