123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538 |
- #############################################################################
- #### Helijah 08-2020 ####
- #### 03-2021 ####
- #### Quelques propriétés utiles ####
- #############################################################################
- var convert = func {
- ###########################################################################
- var rpm0 = getprop("/engines/engine[0]/rpm");
- if ( ! rpm0 ) {
- rpm0 = 0;
- }
- var cht0 = getprop("/engines/engine[0]/cht-degC");
- if ( ! cht0 ) {
- cht0 = 0;
- }
- var egt0 = getprop("/engines/engine[0]/egt-degC");
- if ( ! egt0 ) {
- egt0 = 0;
- }
- var mp0 = getprop("/engines/engine[0]/mp-osi");
- if (! mp0 ) {
- mp0 = 0;
- }
- var run0 = getprop("/engines/engine[0]/running");
- if (! run0 ) {
- run0 = 0;
- }
- var flow0 = getprop("/engines/engine[0]/fuel-flow-gph");
- if ( ! flow0 ) {
- flow0 = 0;
- }
- var oilt0 = getprop("/engines/engine[0]/oil-temperature");
- if ( ! oilt0 ) {
- oilt0 = 0;
- }
- ###########################################################################
- var rpm1 = getprop("/engines/engine[1]/rpm");
- if ( ! rpm1 ) {
- rpm1 = 0;
- }
- var cht1 = getprop("/engines/engine[1]/cht-degC");
- if ( ! cht1 ) {
- cht1 = 0;
- }
- var egt1 = getprop("/engines/engine[1]/egt-degC");
- if ( ! egt1 ) {
- egt1 = 0;
- }
- var mp1 = getprop("/engines/engine[1]/mp-osi");
- if (! mp1 ) {
- mp1 = 0;
- }
- var run1 = getprop("/engines/engine[1]/running");
- if (! run1 ) {
- run1 = 0;
- }
- var flow1 = getprop("/engines/engine[1]/fuel-flow-gph");
- if ( ! flow1 ) {
- flow1 = 0;
- }
- var oilt1 = getprop("/engines/engine[1]/oil-temperature");
- if ( ! oilt1 ) {
- oilt1 = 0;
- }
- ###########################################################################
- var rpm2 = getprop("/engines/engine[2]/rpm");
- if ( ! rpm2 ) {
- rpm2 = 0;
- }
- var cht2 = getprop("/engines/engine[2]/cht-degC");
- if ( ! cht2 ) {
- cht2 = 0;
- }
- var egt2 = getprop("/engines/engine[2]/egt-degC");
- if ( ! egt2 ) {
- egt2 = 0;
- }
- var mp2 = getprop("/engines/engine[2]/mp-osi");
- if (! mp2 ) {
- mp2 = 0;
- }
- var run2 = getprop("/engines/engine[2]/running");
- if (! run2 ) {
- run2 = 0;
- }
- var flow2 = getprop("/engines/engine[2]/fuel-flow-gph");
- if ( ! flow2 ) {
- flow2 = 0;
- }
- var oilt2 = getprop("/engines/engine[2]/oil-temperature");
- if ( ! oilt2 ) {
- oilt2 = 0;
- }
- ###########################################################################
- var rpm3 = getprop("/engines/engine[3]/rpm");
- if ( ! rpm3 ) {
- rpm3 = 0;
- }
- var cht3 = getprop("/engines/engine[3]/cht-degC");
- if ( ! cht3 ) {
- cht3 = 0;
- }
- var egt3 = getprop("/engines/engine[3]/egt-degC");
- if ( ! egt3 ) {
- egt3 = 0;
- }
- var mp3 = getprop("/engines/engine[3]/mp-osi");
- if (! mp3 ) {
- mp3 = 0;
- }
- var run3 = getprop("/engines/engine[3]/running");
- if (! run3 ) {
- run3 = 0;
- }
- var flow3 = getprop("/engines/engine[3]/fuel-flow-gph");
- if ( ! flow3 ) {
- flow3 = 0;
- }
- var oilt3 = getprop("/engines/engine[3]/oil-temperature");
- if ( ! oilt3 ) {
- oilt3 = 0;
- }
- ###########################################################################
- var rpm4 = getprop("/engines/engine[4]/rpm");
- if ( ! rpm4 ) {
- rpm4 = 0;
- }
- var cht4 = getprop("/engines/engine[4]/cht-degC");
- if ( ! cht4 ) {
- cht4 = 0;
- }
- var egt4 = getprop("/engines/engine[4]/egt-degC");
- if ( ! egt4 ) {
- egt4 = 0;
- }
- var mp4 = getprop("/engines/engine[4]/mp-osi");
- if (! mp4 ) {
- mp4 = 0;
- }
- var run4 = getprop("/engines/engine[4]/running");
- if (! run4 ) {
- run4 = 0;
- }
- var flow4 = getprop("/engines/engine[4]/fuel-flow-gph");
- if ( ! flow4 ) {
- flow4 = 0;
- }
- var oilt4 = getprop("/engines/engine[4]/oil-temperature");
- if ( ! oilt4 ) {
- oilt4 = 0;
- }
- ###########################################################################
- var rpm5 = getprop("/engines/engine[5]/rpm");
- if ( ! rpm5 ) {
- rpm5 = 0;
- }
- var cht5 = getprop("/engines/engine[5]/cht-degC");
- if ( ! cht5 ) {
- cht5 = 0;
- }
- var egt5 = getprop("/engines/engine[5]/egt-degC");
- if ( ! egt5 ) {
- egt5 = 0;
- }
- var mp5 = getprop("/engines/engine[5]/mp-osi");
- if (! mp5 ) {
- mp5 = 0;
- }
- var run5 = getprop("/engines/engine[5]/running");
- if (! run5 ) {
- run5 = 0;
- }
- var flow5 = getprop("/engines/engine[5]/fuel-flow-gph");
- if ( ! flow5 ) {
- flow5 = 0;
- }
- var oilt5 = getprop("/engines/engine[5]/oil-temperature");
- if ( ! oilt5 ) {
- oilt5 = 0;
- }
- ###########################################################################
- var oat = getprop("/environment/temperature-degc");
- if ( ! oat ) {
- oat = 0;
- }
- var ias = getprop("/instrumentation/airspeed-indicator/indicated-speed-kt");
- if ( ! ias ) {
- ias = 0;
- }
- var mb0 = getprop("/engines/engine[0]/torque-ftlb");
- if ( ! mb0 ) {
- mb0 = 0;
- }
- var mb1 = getprop("/engines/engine[1]/torque-ftlb");
- if ( ! mb1 ) {
- mb1 = 0;
- }
- var mb2 = getprop("/engines/engine[2]/torque-ftlb");
- if ( ! mb2 ) {
- mb2 = 0;
- }
- var mb3 = getprop("/engines/engine[3]/torque-ftlb");
- if ( ! mb3 ) {
- mb3 = 0;
- }
- var mb4 = getprop("/engines/engine[4]/torque-ftlb");
- if ( ! mb4 ) {
- mb4 = 0;
- }
- var mb5 = getprop("/engines/engine[5]/torque-ftlb");
- if ( ! mb5 ) {
- mb5 = 0;
- }
- var fuel_pres0 = 0.0;
- var oil_pres0 = 0.0;
- var fuel_pres1 = 0.0;
- var oil_pres1 = 0.0;
- var fuel_pres2 = 0.0;
- var oil_pres2 = 0.0;
- var fuel_pres3 = 0.0;
- var oil_pres3 = 0.0;
- var fuel_pres4 = 0.0;
- var oil_pres4 = 0.0;
- var fuel_pres5 = 0.0;
- var oil_pres5 = 0.0;
- ###########################################################################
- if ( mp0 < 10) {
- mp0 = 10;
- }
- if ( mp1 < 10) {
- mp1 = 10;
- }
- if ( mp2 < 10) {
- mp2 = 10;
- }
- if ( mp3 < 10) {
- mp3 = 10;
- }
- if ( mp4 < 10) {
- mp4 = 10;
- }
- if ( mp5 < 10) {
- mp5 = 10;
- }
- #Engine 0
- if (run0) {
- cht0 = cht0 + (mp0 * 8 + oat - ias/3 - cht0) / 250;
- egt0 = egt0 + ((mp0 * 30 + cht0 * 2) * mp0 / (flow0 * 2 + 1) - egt0) / 100;
- oilt0 = oilt0 +(rpm0 / 25 + oat - oilt0) / 250;
- } else {
- if ( ! cht0 ) {
- cht0 = oat;
- }
- if ( ! egt0 ) {
- egt0 = oat;
- }
- if ( ! oilt0 ) {
- oilt0 = oat;
- }
- cht0 = cht0 + (oat - cht0)/100;
- egt0 = egt0 + (oat - egt0)/100;
- oilt0 = oilt0 + (oat - oilt0)/100;
- }
- #Engine 1
- if (run1) {
- cht1 = cht1 + (mp1 * 8 + oat - ias/3 - cht1) / 250;
- egt1 = egt1 + ((mp1 * 30 + cht1 * 2) * mp1 / (flow1 * 2 + 1) - egt1) / 100;
- oilt1 = oilt1 +(rpm1 / 25 + oat - oilt1) / 250;
- } else {
- if ( ! cht1 ) {
- cht1 = oat;
- }
- if ( ! egt1 ) {
- egt1 = oat;
- }
- if ( ! oilt1 ) {
- oilt1 = oat;
- }
- cht1 = cht1 + (oat - cht1)/100;
- egt1 = egt1 + (oat - egt1)/100;
- oilt1 = oilt1 + (oat - oilt1)/100;
- }
- #Engine 2
- if (run2) {
- cht2 = cht2 + (mp2 * 8 + oat - ias/3 - cht2) / 250;
- egt2 = egt2 + ((mp2 * 30 + cht2 * 2) * mp2 / (flow2 * 2 + 1) - egt2) / 100;
- oilt2 = oilt2 +(rpm2 / 25 + oat - oilt2) / 250;
- } else {
- if ( ! cht2 ) {
- cht2 = oat;
- }
- if ( ! egt2 ) {
- egt2 = oat;
- }
- if ( ! oilt2 ) {
- oilt2 = oat;
- }
- cht2 = cht2 + (oat - cht2)/100;
- egt2 = egt2 + (oat - egt2)/100;
- oilt2 = oilt2 + (oat - oilt2)/100;
- }
- #Engine 3
- if (run3) {
- cht3 = cht3 + (mp3 * 8 + oat - ias/3 - cht3) / 250;
- egt3 = egt3 + ((mp3 * 30 + cht3 * 2) * mp3 / (flow3 * 2 + 1) - egt3) / 100;
- oilt3 = oilt3 +(rpm3 / 25 + oat - oilt3) / 250;
- } else {
- if ( ! cht3 ) {
- cht3 = oat;
- }
- if ( ! egt3 ) {
- egt3 = oat;
- }
- if ( ! oilt3 ) {
- oilt3 = oat;
- }
- cht3 = cht3 + (oat - cht3)/100;
- egt3 = egt3 + (oat - egt3)/100;
- oilt3 = oilt3 + (oat - oilt3)/100;
- }
- #Engine 4
- if (run4) {
- cht4 = cht4 + (mp4 * 8 + oat - ias/3 - cht4) / 250;
- egt4 = egt4 + ((mp4 * 30 + cht4 * 2) * mp4 / (flow4 * 2 + 1) - egt4) / 100;
- oilt4 = oilt4 +(rpm4 / 25 + oat - oilt4) / 250;
- } else {
- if ( ! cht4 ) {
- cht4 = oat;
- }
- if ( ! egt4 ) {
- egt4 = oat;
- }
- if ( ! oilt4 ) {
- oilt4 = oat;
- }
- cht4 = cht4 + (oat - cht4)/100;
- egt4 = egt4 + (oat - egt4)/100;
- oilt4 = oilt4 + (oat - oilt4)/100;
- }
- #Engine 5
- if (run5) {
- cht5 = cht5 + (mp5 * 8 + oat - ias/3 - cht5) / 250;
- egt5 = egt5 + ((mp5 * 30 + cht5 * 2) * mp5 / (flow5 * 2 + 1) - egt5) / 100;
- oilt5 = oilt5 +(rpm5 / 25 + oat - oilt5) / 250;
- } else {
- if ( ! cht5 ) {
- cht5 = oat;
- }
- if ( ! egt5 ) {
- egt5 = oat;
- }
- if ( ! oilt5 ) {
- oilt5 = oat;
- }
- cht5 = cht5 + (oat - cht5)/100;
- egt5 = egt5 + (oat - egt5)/100;
- oilt5 = oilt5 + (oat - oilt5)/100;
- }
- #Engine 0
- if (rpm0 > 100.0) {
- fuel_pres0 = rpm0 / 100;
- oil_pres0 = rpm0 / 25;
- }
- #Engine 1
- if (rpm1 > 100.0) {
- fuel_pres1 = rpm1 / 100;
- oil_pres1 = rpm1 / 25;
- }
- #Engine 2
- if (rpm2 > 100.0) {
- fuel_pres2 = rpm2 / 100;
- oil_pres2 = rpm2 / 25;
- }
- #Engine 3
- if (rpm3 > 100.0) {
- fuel_pres3 = rpm3 / 100;
- oil_pres3 = rpm3 / 25;
- }
- #Engine 4
- if (rpm4 > 100.0) {
- fuel_pres4 = rpm4 / 100;
- oil_pres4 = rpm4 / 25;
- }
- #Engine 5
- if (rpm5 > 100.0) {
- fuel_pres5 = rpm5 / 100;
- oil_pres5 = rpm5 / 25;
- }
- setprop("/engines/engine[0]/oil-pressure-psi", oil_pres0);
- setprop("/engines/engine[0]/fuel-pressure-psi", fuel_pres0);
- setprop("/engines/engine[1]/oil-pressure-psi", oil_pres1);
- setprop("/engines/engine[1]/fuel-pressure-psi", fuel_pres1);
- setprop("/engines/engine[2]/oil-pressure-psi", oil_pres2);
- setprop("/engines/engine[2]/fuel-pressure-psi", fuel_pres2);
- setprop("/engines/engine[3]/oil-pressure-psi", oil_pres3);
- setprop("/engines/engine[3]/fuel-pressure-psi", fuel_pres3);
- setprop("/engines/engine[4]/oil-pressure-psi", oil_pres3);
- setprop("/engines/engine[4]/fuel-pressure-psi", fuel_pres3);
- setprop("/engines/engine[5]/oil-pressure-psi", oil_pres3);
- setprop("/engines/engine[5]/fuel-pressure-psi", fuel_pres3);
- setprop("/engines/engine[0]/cht-degC", cht0);
- setprop("/engines/engine[0]/oil-temperature", oilt0);
- setprop("/engines/engine[0]/egt-degC", egt0);
- setprop("/engines/engine[0]/egt-degf-calc", egt0 * 9/5 + 32);
- setprop("/engines/engine[1]/cht-degC", cht1);
- setprop("/engines/engine[1]/oil-temperature", oilt1);
- setprop("/engines/engine[1]/egt-degC", egt1);
- setprop("/engines/engine[1]/egt-degf-calc", egt1 * 9/5 + 32);
- setprop("/engines/engine[2]/cht-degC", cht2);
- setprop("/engines/engine[2]/oil-temperature", oilt2);
- setprop("/engines/engine[2]/egt-degC", egt2);
- setprop("/engines/engine[2]/egt-degf-calc", egt2 * 9/5 + 32);
- setprop("/engines/engine[3]/cht-degC", cht3);
- setprop("/engines/engine[3]/oil-temperature", oilt3);
- setprop("/engines/engine[3]/egt-degC", egt3);
- setprop("/engines/engine[3]/egt-degf-calc", egt3 * 9/5 + 32);
- setprop("/engines/engine[4]/cht-degC", cht4);
- setprop("/engines/engine[4]/oil-temperature", oilt4);
- setprop("/engines/engine[4]/egt-degC", egt4);
- setprop("/engines/engine[4]/egt-degf-calc", egt4 * 9/5 + 32);
- setprop("/engines/engine[5]/cht-degC", cht5);
- setprop("/engines/engine[5]/oil-temperature", oilt5);
- setprop("/engines/engine[5]/egt-degC", egt5);
- setprop("/engines/engine[5]/egt-degf-calc", egt5 * 9/5 + 32);
- setprop("/systems/electrical/amp", (rpm0 + rpm1 + rpm2 + rpm3 + rpm4 + rpm5) / 100 );
- ##################################################
- # Torque -> Pourcent by Helijah : Max 4094 -> 100%
- ##################################################
- var torqpourcent = mb0 * 0.0244259892526;
- setprop("/engines/engine[0]/torque-pourcent", torqpourcent);
- var smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[0]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[0]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[0]/Torque/unit1", chr(smb[2]));
- torqpourcent = mb1 * 0.0244259892526;
- setprop("/engines/engine[1]/torque-pourcent", torqpourcent);
- smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[1]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[1]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[1]/Torque/unit1", chr(smb[2]));
- torqpourcent = mb2 * 0.0244259892526;
- setprop("/engines/engine[2]/torque-pourcent", torqpourcent);
- smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[2]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[2]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[2]/Torque/unit1", chr(smb[2]));
- torqpourcent = mb3 * 0.0244259892526;
- setprop("/engines/engine[3]/torque-pourcent", torqpourcent);
- smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[3]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[3]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[3]/Torque/unit1", chr(smb[2]));
- torqpourcent = mb4 * 0.0244259892526;
- setprop("/engines/engine[4]/torque-pourcent", torqpourcent);
- smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[4]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[4]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[4]/Torque/unit1", chr(smb[2]));
- torqpourcent = mb5 * 0.0244259892526;
- setprop("/engines/engine[5]/torque-pourcent", torqpourcent);
- smb = sprintf("%03.f", torqpourcent);
- setprop("/engines/engine[5]/Torque/unit100", chr(smb[0]));
- setprop("/engines/engine[5]/Torque/unit10", chr(smb[1]));
- setprop("/engines/engine[5]/Torque/unit1", chr(smb[2]));
- ##################################################
- setprop("/engines/engine[0]/egt-degC", convertTemp(getprop("/engines/engine[0]/egt-degf")));
- setprop("/engines/engine[0]/oil-temperature-degC", convertTemp(getprop("/engines/engine[0]/oil-temperature-degf")));
- setprop("/engines/engine[1]/egt-degC", convertTemp(getprop("/engines/engine[1]/egt-degf")));
- setprop("/engines/engine[1]/oil-temperature-degC", convertTemp(getprop("/engines/engine[1]/oil-temperature-degf")));
- setprop("/engines/engine[2]/egt-degC", convertTemp(getprop("/engines/engine[2]/egt-degf")));
- setprop("/engines/engine[2]/oil-temperature-degC", convertTemp(getprop("/engines/engine[2]/oil-temperature-degf")));
- setprop("/engines/engine[3]/egt-degC", convertTemp(getprop("/engines/engine[3]/egt-degf")));
- setprop("/engines/engine[3]/oil-temperature-degC", convertTemp(getprop("/engines/engine[3]/oil-temperature-degf")));
- setprop("/engines/engine[4]/egt-degC", convertTemp(getprop("/engines/engine[4]/egt-degf")));
- setprop("/engines/engine[4]/oil-temperature-degC", convertTemp(getprop("/engines/engine[4]/oil-temperature-degf")));
- setprop("/engines/engine[5]/egt-degC", convertTemp(getprop("/engines/engine[5]/egt-degf")));
- setprop("/engines/engine[5]/oil-temperature-degC", convertTemp(getprop("/engines/engine[5]/oil-temperature-degf")));
- setprop("/engines/engine[0]/itt-norm", getprop("/engines/engine[0]/cht-degC") / 100);
- setprop("/engines/engine[1]/itt-norm", getprop("/engines/engine[1]/cht-degC") / 100);
- setprop("/engines/engine[2]/itt-norm", getprop("/engines/engine[2]/cht-degC") / 100);
- setprop("/engines/engine[3]/itt-norm", getprop("/engines/engine[3]/cht-degC") / 100);
- setprop("/engines/engine[4]/itt-norm", getprop("/engines/engine[4]/cht-degC") / 100);
- setprop("/engines/engine[5]/itt-norm", getprop("/engines/engine[5]/cht-degC") / 100);
- }
- var convertTemp = func(degF) {
- var degC = 0;
- if ( degF != nil ) {
- #print(degF);
- degC = (degF - 32) * 5/9;
- }
- return degC;
- }
- ### Main loop ###
- var update_convert = func {
- convert();
- settimer(update_convert, 0);
- }
- setlistener("/sim/signals/fdm-initialized", update_convert);
|