Fixed errors caused by KNS80 properties not initialized in time...
This commit is contained in:
parent
c00b85dea1
commit
b960dd4616
1 changed files with 17 additions and 10 deletions
|
@ -11,7 +11,7 @@ NAV1 = props.globals.getNode("/instrumentation/nav/frequencies/selected-mhz",1);
|
||||||
NAV1_RADIAL = props.globals.getNode("/instrumentation/nav/radials/selected-deg",1);
|
NAV1_RADIAL = props.globals.getNode("/instrumentation/nav/radials/selected-deg",1);
|
||||||
FDM_ON = 0;
|
FDM_ON = 0;
|
||||||
|
|
||||||
setlistener("/sim/signals/fdm-initialized", func {
|
_setlistener("/sim/signals/fdm-initialized", func {
|
||||||
KNS80.getNode("serviceable",1).setBoolValue(1);
|
KNS80.getNode("serviceable",1).setBoolValue(1);
|
||||||
KNS80.getNode("volume-adjust",1).setValue(0);
|
KNS80.getNode("volume-adjust",1).setValue(0);
|
||||||
KNS80.getNode("data-adjust",1).setValue(0);
|
KNS80.getNode("data-adjust",1).setValue(0);
|
||||||
|
@ -38,22 +38,24 @@ setlistener("/sim/signals/fdm-initialized", func {
|
||||||
KNS80.getNode("wpt[3]/distance",1).setValue(0.0);
|
KNS80.getNode("wpt[3]/distance",1).setValue(0.0);
|
||||||
FDM_ON = 1;
|
FDM_ON = 1;
|
||||||
print("KNS-80 Nav System ... OK");
|
print("KNS-80 Nav System ... OK");
|
||||||
});
|
},1);
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/volume-adjust", func {
|
setlistener("/instrumentation/kns-80/volume-adjust", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON != 0){
|
||||||
var setting = cmdarg().getValue() * 0.05;
|
var amnt = cmdarg().getValue() * 0.05;
|
||||||
cmdarg().setValue(0);
|
cmdarg().setValue(0);
|
||||||
var vol = KNS80.getNode("volume").getValue() + setting;
|
var vol = KNS80.getChild("volume").getValue();
|
||||||
|
vol+= amnt;
|
||||||
if(vol > 1.0){vol = 1.0;}
|
if(vol > 1.0){vol = 1.0;}
|
||||||
if(vol < 0.0){vol = 0.0;KNS80.getNode("serviceable").setBoolValue(0);}
|
if(vol < 0.0){vol = 0.0;KNS80.getNode("serviceable").setBoolValue(0);}
|
||||||
if(vol > 0.0){KNS80.getNode("serviceable").setBoolValue(1);}
|
if(vol > 0.0){KNS80.getNode("serviceable").setBoolValue(1);}
|
||||||
KNS80.getNode("volume").setValue(vol);
|
KNS80.getNode("volume").setValue(vol);
|
||||||
KNS80.getNode("volume-adjust").setValue(0);
|
KNS80.getNode("volume-adjust").setValue(0);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/data-adjust", func {
|
setlistener("/instrumentation/kns-80/data-adjust", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON != 0){
|
||||||
var dmode = KNS80.getNode("data-mode").getValue();
|
var dmode = KNS80.getNode("data-mode").getValue();
|
||||||
var num = cmdarg().getValue();
|
var num = cmdarg().getValue();
|
||||||
cmdarg().setValue(0);
|
cmdarg().setValue(0);
|
||||||
|
@ -82,30 +84,34 @@ setlistener("/instrumentation/kns-80/data-adjust", func {
|
||||||
KNS80.getNode("displayed-distance").setValue(newdist);
|
KNS80.getNode("displayed-distance").setValue(newdist);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/displayed-frequency", func {
|
setlistener("/instrumentation/kns-80/displayed-frequency", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON != 0){
|
||||||
var freq = cmdarg().getValue();
|
var freq = cmdarg().getValue();
|
||||||
var num = KNS80.getNode("display").getValue();
|
var num = KNS80.getNode("display").getValue();
|
||||||
var use = KNS80.getNode("use").getValue();
|
var use = KNS80.getNode("use").getValue();
|
||||||
KNS80.getNode("wpt[" ~ num ~ "]/frequency").setValue(freq);
|
KNS80.getNode("wpt[" ~ num ~ "]/frequency").setValue(freq);
|
||||||
NAV1.setValue(KNS80.getNode("wpt[" ~ use ~ "]/frequency").getValue() * 0.01);
|
NAV1.setValue(KNS80.getNode("wpt[" ~ use ~ "]/frequency").getValue() * 0.01);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/displayed-radial", func {
|
setlistener("/instrumentation/kns-80/displayed-radial", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON != 0){
|
||||||
var rad = cmdarg().getValue();
|
var rad = cmdarg().getValue();
|
||||||
var num = KNS80.getNode("display").getValue();
|
var num = KNS80.getNode("display").getValue();
|
||||||
var radial = KNS80.getNode("use").getValue();
|
var radial = KNS80.getNode("use").getValue();
|
||||||
KNS80.getNode("wpt[" ~ num ~ "]/radial").setValue(rad);
|
KNS80.getNode("wpt[" ~ num ~ "]/radial").setValue(rad);
|
||||||
NAV1_RADIAL.setValue(KNS80.getNode("wpt[" ~ radial ~ "]/radial").getValue());
|
NAV1_RADIAL.setValue(KNS80.getNode("wpt[" ~ radial ~ "]/radial").getValue());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/serviceable", func {
|
setlistener("/instrumentation/kns-80/serviceable", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON != 0){
|
||||||
setprop("/instrumentation/nav/serviceable",cmdarg().getValue());
|
setprop("/instrumentation/nav/serviceable",cmdarg().getValue());
|
||||||
setprop("/instrumentation/dme/serviceable",cmdarg().getValue());
|
setprop("/instrumentation/dme/serviceable",cmdarg().getValue());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setlistener("/instrumentation/kns-80/volume", func {
|
setlistener("/instrumentation/kns-80/volume", func {
|
||||||
|
@ -124,7 +130,8 @@ setlistener("/instrumentation/kns-80/use", func {
|
||||||
setlistener("/instrumentation/kns-80/display", func {
|
setlistener("/instrumentation/kns-80/display", func {
|
||||||
if(FDM_ON == 0){return;}
|
if(FDM_ON == 0){return;}
|
||||||
var freq = cmdarg().getValue();
|
var freq = cmdarg().getValue();
|
||||||
KNS80.getNode("displayed-frequency").setValue(KNS80.getNode("wpt[" ~ freq ~ "]/frequency").getValue());
|
var wpt = KNS80.getNode("wpt[" ~ freq ~ "]/frequency").getValue();
|
||||||
|
KNS80.getNode("displayed-frequency").setValue(wpt);
|
||||||
KNS80.getNode("displayed-radial").setValue(KNS80.getNode("wpt[" ~ freq ~ "]/radial").getValue());
|
KNS80.getNode("displayed-radial").setValue(KNS80.getNode("wpt[" ~ freq ~ "]/radial").getValue());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue