Improve ATT RESET / ATT 10S messages
This commit is contained in:
parent
668030b515
commit
01ec6a06b7
2 changed files with 57 additions and 60 deletions
|
@ -6,11 +6,6 @@
|
||||||
var iesi_init = props.globals.initNode("/instrumentation/iesi/iesi-init", 0, "BOOL");
|
var iesi_init = props.globals.initNode("/instrumentation/iesi/iesi-init", 0, "BOOL");
|
||||||
var iesi_reset = props.globals.initNode("/instrumentation/iesi/att-reset", 0, "DOUBLE");
|
var iesi_reset = props.globals.initNode("/instrumentation/iesi/att-reset", 0, "DOUBLE");
|
||||||
|
|
||||||
var ASI = 0;
|
|
||||||
var _showIESI = 0;
|
|
||||||
var _fast = 0;
|
|
||||||
var _IESITime = 0;
|
|
||||||
|
|
||||||
var pinPrograms = {
|
var pinPrograms = {
|
||||||
metricAltitude: 1,
|
metricAltitude: 1,
|
||||||
showInHg: 1,
|
showInHg: 1,
|
||||||
|
@ -54,23 +49,27 @@ var canvas_IESI = {
|
||||||
obj.AI_horizon_trans = obj["AI_horizon"].createTransform();
|
obj.AI_horizon_trans = obj["AI_horizon"].createTransform();
|
||||||
obj.AI_horizon_rot = obj["AI_horizon"].createTransform();
|
obj.AI_horizon_rot = obj["AI_horizon"].createTransform();
|
||||||
|
|
||||||
obj.middleAltOffset = nil;
|
obj._cachedInhg = nil;
|
||||||
obj._excessMotion = 0;
|
obj._excessMotion = 0;
|
||||||
|
obj._fast = 0;
|
||||||
|
obj._IESITime = 0;
|
||||||
|
obj._showIESI = 0;
|
||||||
|
obj.ASI = 0;
|
||||||
obj.canReset = 0;
|
obj.canReset = 0;
|
||||||
obj.isNegativeAlt = 0;
|
obj.isNegativeAlt = 0;
|
||||||
obj.att10s.hide();
|
obj.middleAltOffset = nil;
|
||||||
|
|
||||||
obj.update_items = [
|
obj.update_items = [
|
||||||
props.UpdateManager.FromHashValue("airspeed", nil, func(val) {
|
props.UpdateManager.FromHashValue("airspeed", nil, func(val) {
|
||||||
# Subtract 30, since the scale starts at 30, but don't allow less than 0, or more than 520 knots
|
# Subtract 30, since the scale starts at 30, but don't allow less than 0, or more than 520 knots
|
||||||
if (val <= 30) {
|
if (val <= 30) {
|
||||||
ASI = 0;
|
obj.ASI = 0;
|
||||||
} else if (val >= 520) {
|
} else if (val >= 520) {
|
||||||
ASI = 490;
|
obj.ASI = 490;
|
||||||
} else {
|
} else {
|
||||||
ASI = val - 30;
|
obj.ASI = val - 30;
|
||||||
}
|
}
|
||||||
obj["ASI_scale"].setTranslation(0, ASI * 8.295);
|
obj["ASI_scale"].setTranslation(0, obj.ASI * 8.295);
|
||||||
}),
|
}),
|
||||||
props.UpdateManager.FromHashList(["altitude","altitude_ind"], nil, func(val) {
|
props.UpdateManager.FromHashList(["altitude","altitude_ind"], nil, func(val) {
|
||||||
if (val.altitude > 50000) {
|
if (val.altitude > 50000) {
|
||||||
|
@ -154,16 +153,10 @@ var canvas_IESI = {
|
||||||
obj.updateQNH(val);
|
obj.updateQNH(val);
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
||||||
_showIESI = 0;
|
|
||||||
_fast = 0;
|
|
||||||
_IESITime = 0.0;
|
|
||||||
obj._cachedInhg = nil;
|
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
getKeys: func() {
|
getKeys: func() {
|
||||||
return ["IESI","IESI_Init","att90s","att10s","ATTflag","ALTwarn","SPDwarn","ASI_scale","ASI_mach","ASI_mach_decimal","AI_center","AI_index","AI_horizon","AI_sky_bank","AI_bank","AI_bank_center","AI_slipskid","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_meters","QNH_setting","QNH_std","negText","negText2","AI_bank_scale","metricM","metricBox"];
|
return ["IESI","IESI_Init","attRst","attRstRect","att90s","ATTflag","ATTflag_rect","ATTflag_text","ALTwarn","SPDwarn","ASI_scale","ASI_mach","ASI_mach_decimal","AI_center","AI_index","AI_horizon","AI_sky_bank","AI_bank","AI_bank_center","AI_slipskid","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_meters","QNH_setting","QNH_std","negText","negText2","AI_bank_scale","metricM","metricBox"];
|
||||||
},
|
},
|
||||||
update: func(notification) {
|
update: func(notification) {
|
||||||
if (notification.qnh_inhg != me._cachedInhg) {
|
if (notification.qnh_inhg != me._cachedInhg) {
|
||||||
|
@ -176,21 +169,33 @@ var canvas_IESI = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_IESITime + 90 >= notification.elapsedTime) {
|
if (me._IESITime + 90 >= notification.elapsedTime) {
|
||||||
if (notification.groundspeed > 2) {
|
if (notification.groundspeed > 2) {
|
||||||
me._excessMotion = 1;
|
me._excessMotion = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
me["IESI"].hide();
|
if (me._fast) {
|
||||||
me["IESI_Init"].show();
|
me["IESI"].show();
|
||||||
if (_fast) {
|
me["IESI_Init"].hide();
|
||||||
me["att10s"].show();
|
me["AI_bank"].hide();
|
||||||
me["att90s"].hide();
|
me["AI_bank_center"].hide();
|
||||||
|
me["AI_bank_scale"].hide();
|
||||||
|
me["AI_horizon"].hide();
|
||||||
|
me["AI_sky_bank"].hide();
|
||||||
|
me["ATTflag_text"].setText("ATT 10s");
|
||||||
|
me["ATTflag_text"].setColor(0,0,0);
|
||||||
|
me["ATTflag_rect"].setScale(1.5,1);
|
||||||
|
me["ATTflag_rect"].setTranslation(-250,0);
|
||||||
|
me["ATTflag_rect"].setColorFill(1,1,0);
|
||||||
|
me["ATTflag_rect"].setColor(1,1,0);
|
||||||
|
me["ATTflag"].show();
|
||||||
|
me["attRst"].hide();
|
||||||
|
me["attRstRect"].hide();
|
||||||
} else {
|
} else {
|
||||||
me["att10s"].hide();
|
me["IESI"].hide();
|
||||||
me["att90s"].show();
|
me["IESI_Init"].show();
|
||||||
|
me["ATTflag"].hide();
|
||||||
}
|
}
|
||||||
me["ATTflag"].hide();
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
if (pinPrograms.metricAltitude) {
|
if (pinPrograms.metricAltitude) {
|
||||||
|
@ -209,7 +214,6 @@ var canvas_IESI = {
|
||||||
me["metricBox"].hide();
|
me["metricBox"].hide();
|
||||||
me["negText2"].hide();
|
me["negText2"].hide();
|
||||||
}
|
}
|
||||||
_fast = 0;
|
|
||||||
|
|
||||||
if (!me._excessMotion) {
|
if (!me._excessMotion) {
|
||||||
me["IESI_Init"].hide();
|
me["IESI_Init"].hide();
|
||||||
|
@ -227,10 +231,17 @@ var canvas_IESI = {
|
||||||
me["AI_bank"].hide();
|
me["AI_bank"].hide();
|
||||||
me["AI_bank_center"].hide();
|
me["AI_bank_center"].hide();
|
||||||
me["AI_bank_scale"].hide();
|
me["AI_bank_scale"].hide();
|
||||||
me["AI_index"].hide();
|
|
||||||
me["AI_horizon"].hide();
|
me["AI_horizon"].hide();
|
||||||
me["AI_sky_bank"].hide();
|
me["AI_sky_bank"].hide();
|
||||||
|
me["ATTflag_text"].setText("ATT");
|
||||||
|
me["ATTflag_text"].setColor(1,0,0);
|
||||||
|
me["ATTflag_rect"].setScale(1,1);
|
||||||
|
me["ATTflag_rect"].setTranslation(0,0);
|
||||||
|
me["ATTflag_rect"].setColorFill(0,0,0);
|
||||||
|
me["ATTflag_rect"].setColor(0,0,0);
|
||||||
me["ATTflag"].show();
|
me["ATTflag"].show();
|
||||||
|
me["attRst"].show();
|
||||||
|
me["attRstRect"].show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,30 +268,26 @@ var canvas_IESI = {
|
||||||
updatePower: func(notification) {
|
updatePower: func(notification) {
|
||||||
# todo 20W power consumption
|
# todo 20W power consumption
|
||||||
if (notification.attReset == 1 and me.canReset) {
|
if (notification.attReset == 1 and me.canReset) {
|
||||||
if (notification.iesiInit and _IESITime + 90 >= notification.elapsedTime and !me._excessMotion) {
|
|
||||||
_fast = 1;
|
|
||||||
} else {
|
|
||||||
_fast = 0;
|
|
||||||
}
|
|
||||||
me._excessMotion = 0;
|
|
||||||
iesi_init.setBoolValue(0);
|
|
||||||
me.canReset = 0;
|
me.canReset = 0;
|
||||||
} else if (_IESITime + 90 < notification.elapsedTime and notification.iesiInit and !me.canReset) {
|
me._excessMotion = 0;
|
||||||
|
me._fast = 1;
|
||||||
|
iesi_init.setBoolValue(0);
|
||||||
|
} else if (me._IESITime + 90 < notification.elapsedTime and notification.iesiInit and !me.canReset) {
|
||||||
me.canReset = 1;
|
me.canReset = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notification.dcEss >= 25 or (notification.relay7XB and notification.dcHot1703 >= 25)) {
|
if (notification.dcEss >= 25 or (notification.relay7XB and notification.dcHot1703 >= 25)) {
|
||||||
_showIESI = 1;
|
me._showIESI = 1;
|
||||||
if (notification.acconfig != 1 and notification.iesiInit != 1) {
|
if (notification.acconfig != 1 and notification.iesiInit != 1) {
|
||||||
iesi_init.setBoolValue(1);
|
iesi_init.setBoolValue(1);
|
||||||
if (_fast) {
|
if (me._fast) {
|
||||||
_IESITime = notification.elapsedTime - 80;
|
me._IESITime = notification.elapsedTime - 80;
|
||||||
} else {
|
} else {
|
||||||
_IESITime = notification.elapsedTime;
|
me._IESITime = notification.elapsedTime;
|
||||||
}
|
}
|
||||||
} else if (notification.acconfig == 1 and notification.iesiInit != 1) {
|
} else if (notification.acconfig == 1 and notification.iesiInit != 1) {
|
||||||
iesi_init.setBoolValue(1);
|
iesi_init.setBoolValue(1);
|
||||||
_IESITime = notification.elapsedTime - 87;
|
me._IESITime = notification.elapsedTime - 87;
|
||||||
}
|
}
|
||||||
} elsif (notification.iesiInit) {
|
} elsif (notification.iesiInit) {
|
||||||
if (!me._transientVar) {
|
if (!me._transientVar) {
|
||||||
|
@ -289,15 +296,18 @@ var canvas_IESI = {
|
||||||
if (systems.ELEC.Bus.dcEss.getValue() >= 25 or (systems.ELEC.Bus.dcHot1703.getValue() >= 25 and systems.ELEC.Relay.relay7XB.getValue())) {
|
if (systems.ELEC.Bus.dcEss.getValue() >= 25 or (systems.ELEC.Bus.dcHot1703.getValue() >= 25 and systems.ELEC.Relay.relay7XB.getValue())) {
|
||||||
me._transientVar = 0;
|
me._transientVar = 0;
|
||||||
} else {
|
} else {
|
||||||
_showIESI = 0;
|
me.canReset = 0;
|
||||||
iesi_init.setBoolValue(0);
|
me._excessMotion = 0;
|
||||||
|
me._fast = 0;
|
||||||
|
me._showIESI = 0;
|
||||||
me._transientVar = 0;
|
me._transientVar = 0;
|
||||||
|
iesi_init.setBoolValue(0);
|
||||||
}
|
}
|
||||||
}, 0.2); # 200ms delay power transients
|
}, 0.2); # 200ms delay power transients
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_showIESI and notification.iesiBrt > 0.01) {
|
if (me._showIESI and notification.iesiBrt > 0.01) {
|
||||||
me.group.setVisible(1);
|
me.group.setVisible(1);
|
||||||
} else {
|
} else {
|
||||||
me.group.setVisible(0);
|
me.group.setVisible(0);
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
showgrid="true"
|
showgrid="true"
|
||||||
inkscape:zoom="0.93517029"
|
inkscape:zoom="0.93517029"
|
||||||
inkscape:cx="815.35952"
|
inkscape:cx="815.35952"
|
||||||
inkscape:cy="847.9739"
|
inkscape:cy="762.42799"
|
||||||
inkscape:window-x="-11"
|
inkscape:window-x="-11"
|
||||||
inkscape:window-y="-11"
|
inkscape:window-y="-11"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
|
@ -170,7 +170,7 @@
|
||||||
x="304.32764"
|
x="304.32764"
|
||||||
height="91.330338"
|
height="91.330338"
|
||||||
width="406.27161"
|
width="406.27161"
|
||||||
id="rect12278"
|
id="attRstRect"
|
||||||
style="fill:#c9d121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.17302;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
|
style="fill:#c9d121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.17302;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
|
||||||
<text
|
<text
|
||||||
inkscape:label="#text979"
|
inkscape:label="#text979"
|
||||||
|
@ -2041,17 +2041,4 @@
|
||||||
x="487.22318"
|
x="487.22318"
|
||||||
id="tspan4618"
|
id="tspan4618"
|
||||||
sodipodi:role="line">STD</tspan></text>
|
sodipodi:role="line">STD</tspan></text>
|
||||||
<text
|
|
||||||
inkscape:label="#text979"
|
|
||||||
transform="scale(1.0000144,0.9999856)"
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
|
|
||||||
x="510.22949"
|
|
||||||
y="796.4032"
|
|
||||||
id="att10s"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan1131"
|
|
||||||
x="510.22949"
|
|
||||||
y="796.4032"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:86px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:0.75">ATT 10s</tspan></text>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Loading…
Reference in a new issue