1 contributor
var knobsClass = {
new : func (device) {
var m = { parents: [ knobsClass ] };
m.device = device;
return m;
},
XPDRCodeSetDigits : func (d) {
# disable SoftKey entering method
setprop('/instrumentation/zkv1000/radios/xpdr-tuning-fms-method', 1);
if (!contains(me.device.softkeys.bindings.PFD.XPDR.CODE, 'on_change_inactivity')) {
me.device.softkeys.bindings.PFD.XPDR.CODE.inactivity.stop();
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity = maketimer(10,
func {
setprop('/instrumentation/zkv1000/radios/xpdr-tuning-digit', 3);
call(me.device.softkeys.bindings.PFD.XPDR.CODE.restore, [], me);
});
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.singleShot = 1;
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.start();
}
else
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.restart(10);
var digit = getprop('/instrumentation/zkv1000/radios/xpdr-tuning-digit');
var code = getprop('/instrumentation/transponder/id-code');
if (digit == 3)
var val = int(code/100) + d;
else
var val = math.mod(code, 100) + d;
if (math.mod(val, 10) == 8) {
if (val > 77)
val = 0;
else
val += 2;
}
elsif (val < 0)
val = 77;
elsif (math.mod(val, 10) == 9)
val -= 2;
if (digit == 3)
setprop('/instrumentation/transponder/id-code',
sprintf('%i', val * 100 + math.mod(code, 100)));
else
setprop('/instrumentation/transponder/id-code',
sprintf('%i', int(code/100) * 100 + val));
me.device.display.updateXPDR();
},
XPDRCodeNextDigits : func {
setprop('/instrumentation/zkv1000/radios/xpdr-tuning-fms-method', 1);
if (!contains(me.device.softkeys.bindings.PFD.XPDR.CODE, 'on_change_inactivity')) {
me.device.softkeys.bindings.PFD.XPDR.CODE.inactivity.stop();
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity = maketimer(10,
func {
setprop('/instrumentation/zkv1000/radios/xpdr-tuning-digit', 3);
call(me.device.softkeys.bindings.PFD.XPDR.CODE.restore, [], me);
});
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.singleShot = 1;
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.start();
}
else
me.device.softkeys.bindings.PFD.XPDR.CODE.on_change_inactivity.restart(10);
setprop('/instrumentation/zkv1000/radios/xpdr-tuning-digit', 1);
me.device.display.updateXPDR();
},
FmsInner : void,
FmsOuter : void
};