Maybe somebody can shed some light on this.
The following code is from EC130 Nasal scripting.
I had noticed some recurring Nasal error and it seems I found a fix, as it didn't show up since that fix.
See the lines marked with "<<<<<<<<<<<<<<<<<<" in the code part
- Code: Select all
var oilpressurebar = func{
oilpres_bar = props.globals.getNode("/engines/engine/oil-pressure-bar", 1);
var rpm = props.globals.getNode("/engines/engine/rpm").getValue() or 0;
var oilpres_low = props.globals.getNode("/engines/engine/oil-pressure-low").getValue() or 0;
var oilpres_norm = props.globals.getNode("/engines/engine/oil-pressure-norm").getValue() or 0;
# fix mhab <<<<<<<<<<<<<<<<<<
if ( !(oilpres_low >= 0) ) oilpres_low=0; <<<<<<<<<<<<<<<<<<
if ( !(oilpres_norm >= 0) ) oilpres_norm=0; <<<<<<<<<<<<<<<<<<
if ((rpm > 0) and (rpm < 23000)){
interpolate ("/engines/engine/oil-pressure-bar", oilpres_low, 1.5);
}elsif (rpm > 23000) {
interpolate ("/engines/engine/oil-pressure-bar", oilpres_norm, 2);
}
settimer(oilpressurebar, 0.1);
}
oilpressurebar();
My question is now, how can it happen that a codeline as below can produce NaN values ?
- Code: Select all
var oilpres_low = props.globals.getNode("/engines/engine/oil-pressure-low").getValue() or 0;
Is this a Nasal error ? Ori is it somewhere rooted in FG kernel ?
P.S.: I noticed the problem in FG 3.0. I think it was there before 3.0 too, but I am not sure about that.
Thanks for any help
Mike-DE