39 lines
1.1 KiB
Text
39 lines
1.1 KiB
Text
|
# Create initial announced variables at startup of the sim
|
||
|
V1 = "";
|
||
|
VR = "";
|
||
|
V2 = "";
|
||
|
|
||
|
# The actual function
|
||
|
var vspeeds = func {
|
||
|
|
||
|
# Create/populate variables at each function cycle
|
||
|
# Retrieve total aircraft weight and convert to kg.
|
||
|
WT = getprop("/fdm/jsbsim/inertia/weight-lbs")*0.00045359237;
|
||
|
flaps = getprop("/instrumentation/fmc/to-flap");
|
||
|
|
||
|
# Calculate V-speeds with flaps 10
|
||
|
if (flaps == 10) {
|
||
|
V1 = (0.3*(WT-80))+125;
|
||
|
VR = (0.3*(WT-80))+140;
|
||
|
V2 = (0.3*(WT-80))+150;
|
||
|
}
|
||
|
|
||
|
# Calculate V-speeds with flaps 15
|
||
|
elsif (flaps == 15) {
|
||
|
V1 = (0.3*(WT-80))+115;
|
||
|
VR = (0.3*(WT-80))+130;
|
||
|
V2 = (0.3*(WT-80))+140;
|
||
|
}
|
||
|
|
||
|
# Export the calculated V-speeds to the property-tree, for further use
|
||
|
setprop("/instrumentation/fmc/vspeeds/V1",V1);
|
||
|
setprop("/instrumentation/fmc/vspeeds/VR",VR);
|
||
|
setprop("/instrumentation/fmc/vspeeds/V2",V2);
|
||
|
|
||
|
# Repeat the function each second
|
||
|
settimer(vspeeds, 1);
|
||
|
}
|
||
|
|
||
|
# Only start the function when the FDM is initialized, to prevent the problem of not-yet-created properties.
|
||
|
_setlistener("/sim/signals/fdm-initialized", vspeeds);
|