Smart Screen: Shut down when shutting down the vehicle
This commit is contained in:
parent
5268a1e0c0
commit
8cee705ce1
|
@ -11,8 +11,15 @@ var SmartInstruments = {
|
|||
}),
|
||||
};
|
||||
m.group = m.instrumentCanvas.createGroup();#//Main group
|
||||
m.signGroup = m.instrumentCanvas.createGroup();#//sign group
|
||||
m.welcomeGroup = m.instrumentCanvas.createGroup();
|
||||
m.instrumentCanvas.addPlacement({"node": placement});
|
||||
#Sign svg
|
||||
#canvas.parsesvg(
|
||||
# m.signGroup,
|
||||
# "Aircraft/followme_e-tron/Models/Interior/Instruments/Smart/dashboard.svg",
|
||||
#);
|
||||
#m.signGroup.hide();
|
||||
#Background
|
||||
m.backgroundPath = "Aircraft/followme_e-tron/Models/Interior/Instruments/Smart/dashboard0.png";
|
||||
# create an image child for the texture
|
||||
|
@ -169,7 +176,7 @@ var SmartInstruments = {
|
|||
me.updateTimer.start();
|
||||
},
|
||||
shutDown:func(){
|
||||
if(me.updateTimer) me.updateTimer.stop();
|
||||
if(me.updateTimer != nil) me.updateTimer.stop();
|
||||
me.group.hide();
|
||||
me.welcomeGroup.hide();
|
||||
}
|
||||
|
@ -178,10 +185,7 @@ var SmartInstruments = {
|
|||
|
||||
var smartInstruments = SmartInstruments.new("instrumentScreen");
|
||||
|
||||
#canvas.parsesvg(
|
||||
# group,
|
||||
# "Aircraft/followme_e-tron/Models/Interior/Instruments/Smart/dashboard.svg",
|
||||
#);
|
||||
|
||||
|
||||
#props.getNode("/dev/smart/size", 1).setValue(30);
|
||||
#props.getNode("/dev/smart/x", 1).setValue(520);
|
||||
|
@ -196,5 +200,5 @@ var runtimeTextAdjust = func(text){
|
|||
}
|
||||
|
||||
|
||||
var window = canvas.Window.new([756,368],"dialog");
|
||||
window.setCanvas(smartInstruments.instrumentCanvas);
|
||||
#var window = canvas.Window.new([756,368],"dialog");
|
||||
#window.setCanvas(smartInstruments.instrumentCanvas);
|
||||
|
|
|
@ -57,6 +57,7 @@ var Series = {
|
|||
}
|
||||
}
|
||||
}
|
||||
#//Calculated by solving the equation UI = I^2*R + Power output
|
||||
var a = me.totalResistance();
|
||||
var b = me.voltage;
|
||||
var c = math.sqrt(me.voltage * me.voltage - 4 * me.totalResistance() * me.totalActivePower());
|
||||
|
@ -67,13 +68,20 @@ var Series = {
|
|||
|
||||
calculateSeriesVoltage: func(){
|
||||
var tR = me.totalResistance();
|
||||
cElectromotiveForce = me.voltage - me.current() * tR; #Total counterElectromotiveForce, calculated from UI = I^R + Power output
|
||||
me.voltage = me.voltage - cElectromotiveForce; #//Voltage with counterElectromotiveForce in consideration
|
||||
totalTmp = 0;
|
||||
foreach(elem; me.units){
|
||||
totalTmp += elem.current * elem.current * elem.resistance + elem.activePower + elem.activePower_kW * 1000;
|
||||
}
|
||||
foreach(elem; me.units){
|
||||
if(elem.isSwitch()){
|
||||
if(!elem.isConnected()){
|
||||
me.voltage = 0;
|
||||
}
|
||||
}
|
||||
elem.voltage = (elem.resistance/tR) * me.voltage;
|
||||
var factor = (elem.current * elem.current * elem.resistance + elem.activePower + elem.activePower_kW * 1000)/totalTmp;
|
||||
elem.voltage = me.voltage * factor;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -122,11 +130,22 @@ var Circuit = {
|
|||
|
||||
current: 0, #//Ampere
|
||||
voltage: func(){
|
||||
return me.parallelConnection[0].units[0].electromotiveForce;
|
||||
var v = 0;
|
||||
#if(me.calculateTotalParallelCurrent()){
|
||||
v = me.parallelConnection[0].units[0].electromotiveForce - me.calculateTotalParallelCurrent()*me.parallelConnection[0].units[0].resistance;
|
||||
#}
|
||||
#foreach(elem; me.parallelConnection){
|
||||
# if(elem.voltage != v){
|
||||
# v = elem.voltage;
|
||||
# break;
|
||||
# }
|
||||
#}
|
||||
return v
|
||||
}, #//Volt
|
||||
|
||||
calculateParallelVoltage: func(){
|
||||
var setVoltage = me.voltage();
|
||||
var totalCounterElecMotiveForce = 0;
|
||||
foreach(elem; me.parallelConnection){
|
||||
if(elem.isSwitch()){
|
||||
if(!elem.isConnected()){
|
||||
|
@ -191,7 +210,7 @@ var Circuit = {
|
|||
|
||||
foreach(elem; me.parallelConnection){
|
||||
foreach(unit; elem.units){
|
||||
if(unit.isCurrentSource()) unit.currentSourceUpdate(me.calculateTotalPower(), me.updateInterval); #//Pass in negetive power for charging
|
||||
if(unit.isCurrentSource()) unit.currentSourceUpdate(me.calculateTotalPower(), me.updateInterval); #//Update the current source. Pass in negetive power in case of charging
|
||||
}
|
||||
}
|
||||
if(me.debugMode == 2) print("Power Calculated");
|
||||
|
@ -241,7 +260,9 @@ var Appliance = {
|
|||
power: func(){
|
||||
return me.activePower + me.activePower_kW*1000 + me.heatingPower();
|
||||
},
|
||||
|
||||
counterElectromotiveForce: func(){
|
||||
return (me.activePower + me.activePower_kW*1000)/me.current; #//Counter Electromotive Force calculated by output power divided by current
|
||||
},
|
||||
|
||||
isResistor: 0,
|
||||
|
||||
|
|
Loading…
Reference in New Issue