diff --git a/Models/Effect/light.eff b/Models/Effect/light.eff index eb27220..ce9f9a2 100644 --- a/Models/Effect/light.eff +++ b/Models/Effect/light.eff @@ -4,7 +4,7 @@ /Effects/model-combined-deferred - 1 + controls/lighting/headlight 1 ../../Models/Effect/speedometer_LIT.png diff --git a/Nasal/electrical.nas b/Nasal/electrical.nas index 0a7ea67..224effb 100644 --- a/Nasal/electrical.nas +++ b/Nasal/electrical.nas @@ -1,5 +1,6 @@ var electric_init = func(){ #Initialize props.getNode("/",1).setValue("/systems/electrical/e-tron/battery-kWh",80); + props.getNode("/",1).setValue("/systems/electrical/e-tron/battery-kWs",288000); props.getNode("/",1).setValue("/systems/electrical/e-tron/battery-U-V",760); props.getNode("/",1).setValue("/systems/electrical/e-tron/switch/bat-fwd-eng",0); props.getNode("/",1).setValue("/systems/electrical/e-tron/switch/bat-bwd-eng",0); @@ -15,6 +16,10 @@ var electric_init = func(){ #Initialize } var electric_update = func(){ + + var currentBattery_kWs = props.getNode("/systems/electrical/e-tron/battery-kWs",1); + var currentBattery_kWh = props.getNode("/systems/electrical/e-tron/battery-kWh",1); + if(props.getNode("/",1).getValue("/systems/electrical/e-tron/switch/bat-fwd-eng") == 1){ props.getNode("/",1).setValue("/systems/electrical/e-tron/fwd-eng-U-V-max",380); props.getNode("/",1).setValue("/systems/electrical/e-tron/fwd-eng-I-A-max",747); @@ -31,6 +36,14 @@ var electric_update = func(){ props.getNode("/",1).setValue("/systems/electrical/e-tron/bwd-eng-I-A-max",0); } + #battery consume + + var currentFwdEngConsume = props.getNode("/systems/electrical/e-tron/fwd-eng-U-V",1).getValue() * props.getNode("/systems/electrical/e-tron/fwd-eng-I-A",1).getValue() * 0.001; + var currentBwdEngConsume = props.getNode("/systems/electrical/e-tron/bwd-eng-U-V",1).getValue() * props.getNode("/systems/electrical/e-tron/bwd-eng-I-A",1).getValue() * 0.001; + var currentTotalConsume = currentFwdEngConsume+currentBwdEngConsume; + props.getNode("/",1).setValue("/systems/electrical/e-tron/battery-kWs", currentBattery_kWs.getValue() - currentTotalConsume); + + currentBattery_kWh.setValue(currentBattery_kWs.getValue()/3600); } var electricTimer = maketimer(1, electric_update); diff --git a/Nasal/engine.nas b/Nasal/engine.nas index ae0715d..0162622 100644 --- a/Nasal/engine.nas +++ b/Nasal/engine.nas @@ -30,6 +30,8 @@ var update_engine = func(){ var cmd_P_kW = (fwdPower + bwdPower)/1000; + + #var cmd_P_kW = throttle*max_P_kW; @@ -58,19 +60,19 @@ var update_engine = func(){ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/FL/magnitude", 0); } - if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit/compression-ft") > 0){ + if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit[1]/compression-ft") > 0){ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/FR/magnitude", force/4); }else{ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/FR/magnitude", 0); } - if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit/compression-ft") > 0){ + if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit[2]/compression-ft") > 0){ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/BL/magnitude", force/4); }else{ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/BL/magnitude", 0); } - if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit/compression-ft") > 0){ + if(props.getNode("/",1).getValue("/fdm/jsbsim/gear/unit[3]/compression-ft") > 0){ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/BR/magnitude", force/4); }else{ props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/FR/magnitude", 0); @@ -106,6 +108,7 @@ var startEngine = func(){ print("Engine started"); } var stopEngine = func(){ + props.getNode("/",1).setValue("/controls/engines/engine/rpm1",0); props.getNode("/",1).setValue("/controls/engines/engine/started",0); props.getNode("/",1).setValue("/fdm/jsbsim/external_reactions/engine/magnitude", 0); props.getNode("/",1).setValue("/systems/electrical/e-tron/switch/bat-fwd-eng",0);