Nasal: tidy up nodes and properties
This commit is contained in:
parent
8e0f7c89aa
commit
af83cb6175
|
@ -14,7 +14,21 @@ var Engine = {
|
|||
#//For this vehicle: maxPower: 375kW
|
||||
|
||||
new: func(mTorque, mPower, rpmAtMPower) {
|
||||
return { parents:[Engine, followme.Appliance.new()], maxTorque: mTorque, ratedPower:mPower, rpmAtMaxPower:rpmAtMPower };
|
||||
var m = {parents:[Engine], followme.Appliance.new()};
|
||||
m.engineNode = followme.vehicleInformation.engine;
|
||||
m.engineNode.throttleNode = props.getNode("/controls/engines/engine/throttle",1);
|
||||
m.engineNode.rpmNode = props.getNode("/controls/engines/engine/rpma",1);
|
||||
m.engineNode.isStarted = props.getNode("/controls/engines/engine/started",1);
|
||||
m.engineNode.direction = props.getNode("/controls/direction", 1);
|
||||
m.engineNode.mode = props.getNode("/controls/mode", 1);
|
||||
|
||||
followme.vehicleInformation.lighting.reverseIndicator = props.getNode("/controls/lighting/reverse_indicator", 1);;
|
||||
m.reverseIndicatorNode = followme.vehicleInformation.lighting.reverseIndicator
|
||||
|
||||
m.maxTorque = mTorque;
|
||||
m.ratedPower = mPower;
|
||||
m.rpmAtMaxPower = rpmAtMPower;
|
||||
return m;
|
||||
},
|
||||
|
||||
motorResistance: 0.2,#//No datasource, based on guess
|
||||
|
@ -35,8 +49,8 @@ var Engine = {
|
|||
toggleDirection: func(){
|
||||
#//Toggle Direction, forward:1; barkward: -1
|
||||
me.direction *= -1;
|
||||
props.getNode("/",1).setValue("/controls/direction", me.direction);
|
||||
props.getNode("/",1).setValue("/controls/lighting/reverse_indicator", (me.direction < 0));
|
||||
me.engineNode.direction.setValue(me.direction);
|
||||
me.reverseIndicatorNode.setValue((me.direction < 0));
|
||||
if(followme.isInternalView()) followme.playAudio("change_gear.wav");
|
||||
},
|
||||
getDirection: func(){
|
||||
|
@ -138,21 +152,21 @@ var Engine = {
|
|||
|
||||
|
||||
me.rpm = rpm;
|
||||
props.getNode("/",1).setValue("/controls/engines/engine/rpma",rpm);
|
||||
me.engineNode.rpmNode.setValue(rpm);
|
||||
me.angularSpeed = angularSpeed;
|
||||
|
||||
return rpm;
|
||||
},
|
||||
|
||||
update_engine: func(){
|
||||
var throttle = props.getNode("/",1).getValue("/controls/engines/engine/throttle");
|
||||
var throttle = me.engineNode.throttleNode.getValue();
|
||||
var direction = me.getDirection();
|
||||
var mode = props.getNode("/",1).getValue("/controls/mode");
|
||||
var mode = me.engineNode.mode.getValue();
|
||||
me.mode = mode;
|
||||
|
||||
if(!me.voltage){
|
||||
me.rpm = 0;
|
||||
props.getNode("/",1).setValue("/controls/engines/engine/rpma", 0);
|
||||
me.engineNode.rpmNode.setValue(0);
|
||||
outputForce(0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -216,7 +230,7 @@ var Engine = {
|
|||
if(me.engineTimer == nil) me.engineTimer = maketimer(0.1, func me.update_engine());
|
||||
me.engineSwitch.switchConnect();
|
||||
me.runningState = 1;
|
||||
props.getNode("/",1).setValue("/controls/engines/engine/started",1);
|
||||
engineNode.isStarted.setValue(1);
|
||||
me.engineTimer.simulatedTime = 1;
|
||||
me.rpm = 100 * me.getDirection();
|
||||
followme.playAudio("starter.wav");
|
||||
|
@ -233,7 +247,7 @@ var Engine = {
|
|||
me.activePower_kW = 0;
|
||||
me.runningState = 0;
|
||||
me.engineSwitch.switchDisconnect();
|
||||
props.getNode("/",1).setValue("/controls/engines/engine/started",0);
|
||||
engineNode.isStarted.setValue(0);
|
||||
},
|
||||
|
||||
printDebugInfo: func(){
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
var VehicleInformationManager = {
|
||||
new: func(){
|
||||
var m = {parents:[VehicleInformationManager]};
|
||||
m._speedKTSNode = props.getNode("/sim/multiplay/generic/float[15]", 1);
|
||||
m._headingNode = props.getNode("/orientation/heading-deg",1);
|
||||
m._altitudeFTNode = props.getNode("/position/altitude-ft",1);
|
||||
return m;
|
||||
},
|
||||
getSpeedKMH: func(){
|
||||
return me._speedKTSNode.getValue()*1.852;
|
||||
},
|
||||
getSpeedKTS: func(){
|
||||
return me._speedKTSNode.getValue();
|
||||
},
|
||||
getHeadingDEG: func(){
|
||||
return me._headingNode.getValue();
|
||||
},
|
||||
getAltitudeFT: func(){
|
||||
return me._altitudeFTNode.getValue();
|
||||
},
|
||||
engine:{},
|
||||
};
|
||||
|
||||
var vehicleInformation = VehicleInformationManager.new();
|
||||
|
||||
#//For Engine
|
||||
vehicleInformation.engine.throttleNode = props.getNode("/controls/engines/engine/throttle",1);
|
||||
vehicleInformation.engine.rpmNode = props.getNode("/controls/engines/engine/rpma",1);
|
||||
vehicleInformation.engine.isStarted = props.getNode("/controls/engines/engine/started",1);
|
||||
vehicleInformation.engine.direction = props.getNode("/controls/direction", 1);
|
||||
vehicleInformation.engine.mode = props.getNode("/controls/mode", 1);
|
||||
|
||||
#//Lignting
|
||||
vehicleInformation.lighting = props.getNode("/controls/lighting", 1);;
|
||||
vehicleInformation.lighting.reverseIndicator = followme.vehicleInformation.lighting.getNode("reverse_indicator", 1);
|
||||
|
||||
wiper.stateN = wiper.node.initNode("state", 0, "DOUBLE");
|
||||
props.getNode("/",1).setValue("/controls/wiper/frontwiper_switch", 0);
|
||||
|
||||
props.getNode("/",1).setValue("/controls/lighting/indicator-left", 0);
|
||||
props.getNode("/",1).setValue("/controls/lighting/indicator-right", 0);
|
||||
|
||||
props.getNode("/",1).setValue("/systems/horn", 0);
|
||||
props.getNode("/",1).setValue("/controls/mode", 1);
|
||||
props.getNode("/",1).setValue("/controls/direction", 1);
|
||||
props.getNode("/",1).setValue("/systems/instruments/enable_switches", 0);
|
||||
props.getNode("/",1).setValue("/systems/instruments/enable_cdu", 0);
|
||||
props.getNode("/",1).setValue("/instrumentation/cdu/ident/model", "Follow me EV");
|
||||
props.getNode("/",1).setValue("/instrumentation/cdu/ident/engines", "EV Motor");
|
||||
|
||||
props.getNode("/",1).setValue("services/service-truck/enable", 0);
|
||||
props.getNode("controls/is-recharging", 1).setValue(0);
|
||||
props.getNode("systems/welcome-message", 1).setValue(0);
|
||||
props.getNode("systems/display-speed", 1).setValue(0);
|
||||
props.getNode("systems/speedometer/type", 1).setValue("Type_A");
|
||||
props.getNode("systems/battery-gauge/type", 1).setValue("Type_A");
|
||||
props.getNode("systems/plate/file", 1).setValue("NONE");
|
||||
props.getNode("systems/plate/name", 1).setValue("NONE");
|
||||
props.getNode("controls/lighting/headlight-als", 1).setValue(0);
|
||||
props.getNode("controls/lighting/highBeam", 1).setValue(0);
|
||||
props.getNode("/controls/steering_wheel", 1).setValue(0);
|
||||
props.getNode("controls/interior/luxury/storage_cover_pos", 1).setValue(0);
|
||||
props.getNode("sim/remote/pilot-callsign", 1).setValue("");
|
||||
props.getNode("systems/codriver-enable", 1).setValue(0);
|
||||
props.getNode("systems/screen-enable", 1).setValue(0);
|
||||
props.getNode("systems/pmodel-enable", 1).setValue(1);
|
||||
props.getNode("systems/decorations-enable", 1).setValue(0);
|
||||
props.getNode("systems/interior/type", 1).setValue("Default");
|
||||
props.getNode("systems/safety/aeb_activated", 1).setValue(0);
|
||||
props.getNode("systems/safety/aeb_on", 1).setValue(0);
|
||||
props.getNode("systems/auto_hold_enabled", 1).setValue(0);
|
||||
props.getNode("systems/auto_hold_working", 1).setValue(0);
|
||||
props.getNode("controls/lighting/indicator/left_switch", 1).setValue(0);
|
||||
props.getNode("controls/lighting/indicator/right_switch", 1).setValue(0);
|
||||
props.getNode("controls/lighting/reverse_indicator", 1).setValue(0);
|
|
@ -73,46 +73,6 @@ var toggleWiper = func(){
|
|||
}
|
||||
}
|
||||
|
||||
wiper.stateN = wiper.node.initNode("state", 0, "DOUBLE");
|
||||
props.getNode("/",1).setValue("/controls/wiper/frontwiper_switch", 0);
|
||||
|
||||
props.getNode("/",1).setValue("/controls/lighting/indicator-left", 0);
|
||||
props.getNode("/",1).setValue("/controls/lighting/indicator-right", 0);
|
||||
|
||||
props.getNode("/",1).setValue("/systems/horn", 0);
|
||||
props.getNode("/",1).setValue("/controls/mode", 1);
|
||||
props.getNode("/",1).setValue("/controls/direction", 1);
|
||||
props.getNode("/",1).setValue("/systems/instruments/enable_switches", 0);
|
||||
props.getNode("/",1).setValue("/systems/instruments/enable_cdu", 0);
|
||||
props.getNode("/",1).setValue("/instrumentation/cdu/ident/model", "Follow me EV");
|
||||
props.getNode("/",1).setValue("/instrumentation/cdu/ident/engines", "EV Motor");
|
||||
|
||||
props.getNode("/",1).setValue("services/service-truck/enable", 0);
|
||||
props.getNode("controls/is-recharging", 1).setValue(0);
|
||||
props.getNode("systems/welcome-message", 1).setValue(0);
|
||||
props.getNode("systems/display-speed", 1).setValue(0);
|
||||
props.getNode("systems/speedometer/type", 1).setValue("Type_A");
|
||||
props.getNode("systems/battery-gauge/type", 1).setValue("Type_A");
|
||||
props.getNode("systems/plate/file", 1).setValue("NONE");
|
||||
props.getNode("systems/plate/name", 1).setValue("NONE");
|
||||
props.getNode("controls/lighting/headlight-als", 1).setValue(0);
|
||||
props.getNode("controls/lighting/highBeam", 1).setValue(0);
|
||||
props.getNode("/controls/steering_wheel", 1).setValue(0);
|
||||
props.getNode("controls/interior/luxury/storage_cover_pos", 1).setValue(0);
|
||||
props.getNode("sim/remote/pilot-callsign", 1).setValue("");
|
||||
props.getNode("systems/codriver-enable", 1).setValue(0);
|
||||
props.getNode("systems/screen-enable", 1).setValue(0);
|
||||
props.getNode("systems/pmodel-enable", 1).setValue(1);
|
||||
props.getNode("systems/decorations-enable", 1).setValue(0);
|
||||
props.getNode("systems/interior/type", 1).setValue("Default");
|
||||
props.getNode("systems/safety/aeb_activated", 1).setValue(0);
|
||||
props.getNode("systems/safety/aeb_on", 1).setValue(0);
|
||||
props.getNode("systems/auto_hold_enabled", 1).setValue(0);
|
||||
props.getNode("systems/auto_hold_working", 1).setValue(0);
|
||||
props.getNode("controls/lighting/indicator/left_switch", 1).setValue(0);
|
||||
props.getNode("controls/lighting/indicator/right_switch", 1).setValue(0);
|
||||
props.getNode("controls/lighting/reverse_indicator", 1).setValue(0);
|
||||
|
||||
#var Led = {
|
||||
#
|
||||
# new: func() { return { parents:[Led] },
|
||||
|
@ -502,8 +462,7 @@ var chargeBatteryStop = func(bef){
|
|||
}
|
||||
|
||||
var calculateSpeed = func(){
|
||||
var gs = props.getNode("velocities/groundspeed-kt", 1).getValue();
|
||||
var speedKmh = 1.852 * gs;
|
||||
var speedKmh = vehicleInformation.getSpeedKMH();
|
||||
var calculated = 0;
|
||||
var output = 0;
|
||||
if(speedKmh <= 0){
|
||||
|
@ -571,7 +530,7 @@ var Safety = {
|
|||
aebEnabled: 0,
|
||||
aebActivated: 0,
|
||||
lastRadarOutput:10000,
|
||||
throttleNode: props.getNode("/controls/engines/engine/throttle",1),
|
||||
throttleNode: vehicleInformation.engine.throttleNode,
|
||||
#Airbag
|
||||
accXProp: props.getNode("/fdm/jsbsim/accelerations/a-pilot-x-ft_sec2", 1),
|
||||
accYProp: props.getNode("/fdm/jsbsim/accelerations/a-pilot-y-ft_sec2", 1),
|
||||
|
@ -663,8 +622,8 @@ var Safety = {
|
|||
|
||||
aebUpdate: func(){
|
||||
#//AEB Loop
|
||||
|
||||
var currentSpeed = props.getNode("/", 1).getValue("sim/multiplay/generic/float[15]")*1.852;#In km/h
|
||||
|
||||
var currentSpeed = vehicleInformation.getSpeedKMH();#In km/h
|
||||
var radarOutput = me.frontRadar.radarOutput;
|
||||
#print("radar output: " ~ radarOutput);
|
||||
#print("last radar output: " ~ me.lastRadarOutput);
|
||||
|
|
Loading…
Reference in New Issue