Instrument: Bind speedometer backlight to vehicles front light. FDM: Bug fix. Electrical: Engine now consumes electric

This commit is contained in:
Sidi Liang 2019-07-28 18:48:25 +08:00
parent 9ec2d4146c
commit 7cfca6184d
3 changed files with 20 additions and 4 deletions

View File

@ -4,7 +4,7 @@
<inherits-from>/Effects/model-combined-deferred</inherits-from>
<parameters>
<!-- Light Map -->
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-enabled type="int"><use>controls/lighting/headlight</use></lightmap-enabled>
<lightmap-multi type="int">1</lightmap-multi>
<texture n="3">
<image>../../Models/Effect/speedometer_LIT.png</image>

View File

@ -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);

View File

@ -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);