1
0
Fork 0

Merge branch '3D' into 3D-flightdeck

This commit is contained in:
Jonathan Redpath 2022-05-03 20:11:32 +01:00
commit 2b3f57e253
11 changed files with 1315 additions and 1016 deletions

View file

@ -1878,7 +1878,11 @@
</groundradar>
<iesi>
<att-reset type="double">false</att-reset>
<att-reset-cmd type="bool">false</att-reset-cmd>
<display>
<show-mach type="bool">false</show-mach>
</display>
</iesi>
<marker-beacon n="0">

View file

@ -520,6 +520,7 @@ var taxi_b = func {
libraries.toggleSTD();
}
setprop("/instrumentation/altimeter[0]/setting-inhg", getprop("/environment/metar[0]/pressure-inhg") or 29.92);
setprop("/instrumentation/altimeter[6]/setting-inhg", getprop("/environment/metar[0]/pressure-inhg") or 29.92);
settimer(taxi_c, 2);
}
var taxi_c = func {

View file

@ -4,7 +4,6 @@
# props.nas nodes
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 pinPrograms = {
metricAltitude: 1,
@ -29,6 +28,7 @@ var canvas_IESI = {
};
canvas.parsesvg(obj.group, svg, {"font-mapper": obj.font_mapper} );
foreach(var key; obj.getKeys()) {
obj[key] = obj.group.getElementById(key);
@ -46,37 +46,59 @@ var canvas_IESI = {
obj[key].set("clip-frame", canvas.Element.PARENT);
}
};
obj.AI_horizon_trans = obj["AI_horizon"].createTransform();
obj.AI_horizon_rot = obj["AI_horizon"].createTransform();
obj._aiCenter = obj["AI_center"].getCenter();
obj._cachedInhg = -999;
obj._cachedMetric = pinPrograms.metricAltitude;
obj._cachedMode = nil;
obj._cachedShowInhg = pinPrograms.showInHg;
obj._canReset = 0;
obj._excessMotionInInit = 0;
obj._fastInit = 0;
obj._IESITime = 0;
obj._isNegativeAlt = 0;
obj._middleAltOffset = nil;
obj._powerResult = 0;
obj._roll = 0;
obj.iesiInAlign = 0;
obj["IESI"].hide();
obj["IESI_Init"].show();
obj["ATTflag"].hide();
obj.update_items = [
props.UpdateManager.FromHashValue("airspeed", 0.1, func(val) {
props.UpdateManager.FromHashValue("airspeedIESI", 0.1, func(val) {
obj["ASI_scale"].setTranslation(0, math.clamp(val - 30, 0, 490) * 8.295);
}),
props.UpdateManager.FromHashList(["altitude","altitude_ind"], 0.5, func(val) {
val.altitude = math.clamp(val.altitude, -2000, 50000);
if (val.altitude < 0) {
props.UpdateManager.FromHashValue("altitudeIESI", 0.5, func(val) {
val = math.clamp(val, -2000, 50000);
obj["ALT_meters"].setText(sprintf("%5.0f", math.round(val * 0.3048, 10)));
obj.middleAltText = roundaboutAlt(val / 100);
obj["ALT_five"].setText(sprintf("%03d", abs(obj.middleAltText + 10)));
obj["ALT_four"].setText(sprintf("%03d", abs(obj.middleAltText + 5)));
obj["ALT_three"].setText(sprintf("%03d", abs(obj.middleAltText)));
obj["ALT_two"].setText(sprintf("%03d", abs(obj.middleAltText - 5)));
obj["ALT_one"].setText(sprintf("%03d", abs(obj.middleAltText - 10)));
if (val < 0) {
obj["negText"].show();
obj._isNegativeAlt = 1;
} else {
obj["negText"].hide();
obj._isNegativeAlt = 0;
}
}),
props.UpdateManager.FromHashValue("altitudeIESI", 0.1, func(val) {
val = math.clamp(val, -2000, 50000);
obj.altOffset = (val / 500) - int(val / 500);
obj.altOffset = (val.altitude / 500) - int(val.altitude / 500);
obj.middleAltText = roundaboutAlt(val.altitude / 100);
if (obj.altOffset > 0.5) {
obj._middleAltOffset = -(obj.altOffset - 1) * 258.5528;
} else {
@ -85,23 +107,11 @@ var canvas_IESI = {
obj["ALT_scale"].setTranslation(0, -obj._middleAltOffset);
obj["ALT_scale"].update();
obj["ALT_five"].setText(sprintf("%03d", abs(obj.middleAltText+10)));
obj["ALT_four"].setText(sprintf("%03d", abs(obj.middleAltText+5)));
obj["ALT_three"].setText(sprintf("%03d", abs(obj.middleAltText)));
obj["ALT_two"].setText(sprintf("%03d", abs(obj.middleAltText-5)));
obj["ALT_one"].setText(sprintf("%03d", abs(obj.middleAltText-10)));
if (val.altitude < 0 and val.altitude_ind > 20) {
val.altitude_ind = 20;
} elsif (val.altitude > 0 and val.altitude_ind > 500) {
val.altitude_ind = 500;
}
obj["ALT_digits"].setText(sprintf("%s", val.altitude_ind));
obj["ALT_meters"].setText(sprintf("%5.0f", math.round(val.altitude * 0.3048, 10)));
obj.altTens = num(right(sprintf("%02d", val.altitude), 2));
obj["ALT_tens"].setTranslation(0, obj.altTens * 3.16);
obj["ALT_tens"].setTranslation(0, num(right(sprintf("%02d", val), 2)) * 3.16);
}),
props.UpdateManager.FromHashValue("altitude_indIESI", 0.5, func(val) {
obj["ALT_digits"].setText(sprintf("%s", math.clamp(val, -20, 500)));
}),
props.UpdateManager.FromHashValue("showMach", 1, func(val) {
if (val) {
@ -115,16 +125,15 @@ var canvas_IESI = {
props.UpdateManager.FromHashValue("mach", 0.001, func(val) {
obj["ASI_mach"].setText(sprintf("%2.0f", math.clamp(val * 100, 0, 99)));
}),
props.UpdateManager.FromHashValue("pitch", 0.025, func(val) {
props.UpdateManager.FromHashValue("iesiPitch", 0.025, func(val) {
obj.AI_horizon_trans.setTranslation(0, val * 16.74);
}),
props.UpdateManager.FromHashValue("roll", 0.025, func(val) {
obj._roll = -val * D2R;
obj.AI_horizon_rot.setRotation(obj._roll, obj._aiCenter);
obj["AI_bank"].setRotation(obj._roll);
obj.AI_horizon_rot.setRotation(-val * D2R, obj._aiCenter);
obj["AI_bank"].setRotation(-val * D2R);
}),
props.UpdateManager.FromHashValue("skid", 0.1, func(val) {
if (abs(val) >= 84.99) {
if (abs(val) >= 85) {
obj["AI_slipskid"].hide();
} else {
obj["AI_slipskid"].setTranslation(-val, 0);
@ -132,112 +141,174 @@ var canvas_IESI = {
}
}),
];
obj.update_items_init = [
props.UpdateManager.FromHashList(["iesiAlignTime","elapsedTime"], 0.5, func(val) {
if (val.iesiAlignTime + 90 >= val.elapsedTime) {
obj.iesiInAlign = 1;
} else {
obj.iesiInAlign = 0;
}
}),
props.UpdateManager.FromHashList(["iesiInAlign","iesiFastInit","irAlignFault"], 1, func(val) {
if (val.iesiInAlign) {
if (!val.iesiFastInit and val.irAlignFault) {
obj._excessMotionInInit = 1;
}
}
}),
props.UpdateManager.FromHashList(["iesiExcessMotion","iesiFastInit","iesiInAlign"], 1, func(val) {
if (val.iesiInAlign) {
if (val.iesiFastInit) {
obj["IESI"].show();
obj["IESI_Init"].hide();
obj["AI_bank"].hide();
obj["AI_bank_center"].hide();
obj["AI_bank_scale"].hide();
obj["AI_horizon"].hide();
obj["AI_sky_bank"].hide();
obj["ATTflag_text"].setText("ATT 10s");
obj["ATTflag_text"].setColor(0,0,0);
obj["ATTflag_rect"].setScale(1.5,1);
obj["ATTflag_rect"].setTranslation(-250,0);
obj["ATTflag_rect"].setColorFill(1,1,0);
obj["ATTflag_rect"].setColor(1,1,0);
obj["ATTflag"].show();
obj["attRst"].hide();
obj["attRstRect"].hide();
} else {
obj["IESI"].hide();
obj["IESI_Init"].show();
obj["ATTflag"].hide();
}
} else {
if (!val.iesiExcessMotion) {
obj["IESI_Init"].hide();
obj["IESI"].show();
obj["AI_bank"].show();
obj["AI_bank_center"].show();
obj["AI_bank_scale"].show();
obj["AI_index"].show();
obj["AI_horizon"].show();
obj["AI_sky_bank"].show();
obj["ATTflag"].hide();
} else {
obj["IESI_Init"].hide();
obj["IESI"].show();
obj["AI_bank"].hide();
obj["AI_bank_center"].hide();
obj["AI_bank_scale"].hide();
obj["AI_horizon"].hide();
obj["AI_sky_bank"].hide();
obj["ATTflag_text"].setText("ATT");
obj["ATTflag_text"].setColor(1,0,0);
obj["ATTflag_rect"].setScale(1,1);
obj["ATTflag_rect"].setTranslation(0,0);
obj["ATTflag_rect"].setColorFill(0,0,0);
obj["ATTflag_rect"].setColor(0,0,0);
obj["ATTflag"].show();
obj["attRst"].show();
obj["attRstRect"].show();
}
}
}),
];
obj.update_items_power = [
props.UpdateManager.FromHashList(["iesiPowered","iesiBrt"], 0.005, func(val) {
if (val.iesiPowered and val.iesiBrt > 0.01) {
obj.group.setVisible(1);
pts.Instrumentation.Iesi.lcdOn.setBoolValue(1);
} else {
obj.group.setVisible(0);
pts.Instrumentation.Iesi.lcdOn.setBoolValue(0);
}
}),
props.UpdateManager.FromHashList(["iesiPowered","acconfig","iesiInit"], 1, func(val) {
if (val.iesiPowered) {
if (val.iesiInit) return;
obj.initIESI(val.acconfig);
} elsif (val.iesiInit) {
obj._canReset = 0;
obj._excessMotionInInit = 0;
obj._fastInit = 0;
iesi_init.setBoolValue(0);
}
}),
];
return obj;
},
getKeys: func() {
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"];
},
alignFault: props.globals.getNode("/systems/navigation/align-fault"),
update: func(notification) {
me._powerResult = me.updatePower(notification);
if (me._powerResult == 0) { return; }
me.updatePower(notification);
if (math.abs(notification.qnh_inhg - me._cachedInhg) > 0.005 or notification.altimeter_mode != me._cachedMode) {
me._cachedInhg = notification.qnh_inhg;
me._cachedMode = notification.altimeter_mode;
foreach(var update_item; me.update_items_power)
{
update_item.update(notification);
}
if (!me.group.getVisible()) { return; }
notification.iesiAlignTime = me._IESITime;
notification.iesiExcessMotion = me._excessMotionInInit;
notification.iesiFastInit = me._fastInit;
notification.iesiInAlign = me.iesiInAlign;
foreach(var update_item; me.update_items_init)
{
update_item.update(notification);
}
if (math.abs(notification.qnh_inhg_iesi - me._cachedInhg) > 0.005 or notification.altimeter_mode_iesi != me._cachedMode or pinPrograms.showInHg != me._cachedShowInhg) {
me._cachedInhg = notification.qnh_inhg_iesi;
me._cachedMode = notification.altimeter_mode_iesi;
me._cachedShowInhg = pinPrograms.showInHg;
me.updateQNH(notification);
}
if (me._IESITime + 90 >= notification.elapsedTime) {
if (!me._fastInit and me.alignFault.getBoolValue()) {
me._excessMotionInInit = 1;
if (me.iesiInAlign and !me._fastInit) return;
foreach(var update_item; me.update_items)
{
update_item.update(notification);
}
if (me._fastInit) {
me["IESI"].show();
me["IESI_Init"].hide();
me["AI_bank"].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 {
me["IESI"].hide();
me["IESI_Init"].show();
me["ATTflag"].hide();
return;
if (!me.iesiInAlign and pinPrograms.metricAltitude != me._cachedMetric) {
me._cachedMetric = pinPrograms.metricAltitude;
me.updateMetric(pinPrograms.metricAltitude);
}
} else {
if (pinPrograms.metricAltitude) {
me["ALT_meters"].show();
me["metricM"].show();
me["metricBox"].show();
if (me._isNegativeAlt) {
me["negText2"].show();
} else {
me["negText2"].hide();
}
}
},
updateMetric: func(val) {
if (val) {
me["ALT_meters"].show();
me["metricM"].show();
me["metricBox"].show();
} else {
me["ALT_meters"].hide();
me["metricM"].hide();
me["metricBox"].hide();
me["negText2"].hide();
}
if (!me._excessMotionInInit) {
me["IESI_Init"].hide();
me["IESI"].show();
me["AI_bank"].show();
me["AI_bank_center"].show();
me["AI_bank_scale"].show();
me["AI_index"].show();
me["AI_horizon"].show();
me["AI_sky_bank"].show();
me["ATTflag"].hide();
} else {
me["IESI_Init"].hide();
me["IESI"].show();
me["AI_bank"].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");
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["attRst"].show();
me["attRstRect"].show();
}
}
foreach(var update_item; me.update_items)
{
update_item.update(notification);
}
},
updateQNH: func(notification) {
if (notification.altimeter_mode) {
if (notification.altimeter_mode_iesi) {
me["QNH_setting"].hide();
me["QNH_std"].show();
} else {
if (pinPrograms.showInHg) {
me["QNH_setting"].setText(sprintf("%4.0f", notification.qnh_hpa) ~ "/" ~ sprintf("%2.2f", notification.qnh_inhg));
me["QNH_setting"].setText(sprintf("%4.0f", notification.qnh_hpa_iesi) ~ "/" ~ sprintf("%2.2f", notification.qnh_inhg_iesi));
} else {
me["QNH_setting"].setText(sprintf("%4.0f", notification.qnh_hpa));
me["QNH_setting"].setText(sprintf("%4.0f", notification.qnh_hpa_iesi));
}
me["QNH_std"].hide();
me["QNH_setting"].show();
@ -252,30 +323,13 @@ var canvas_IESI = {
} else if (me._IESITime + 90 < notification.elapsedTime and notification.iesiInit and !me._canReset) {
me._canReset = 1;
}
if (notification.iesiPowered) {
if (notification.acconfig != 1 and notification.iesiInit != 1) {
},
initIESI: func(acconfig) {
iesi_init.setBoolValue(1);
me._IESITime = notification.elapsedTime - (me._fastInit ? 80 : 0);
} else if (notification.acconfig == 1 and notification.iesiInit != 1) {
iesi_init.setBoolValue(1);
me._IESITime = notification.elapsedTime - 87;
}
} elsif (notification.iesiInit) {
me._canReset = 0;
me._excessMotionInInit = 0;
me._fastInit = 0;
iesi_init.setBoolValue(0);
}
if (notification.iesiPowered and notification.iesiBrt > 0.01) {
me.group.setVisible(1);
pts.Instrumentation.Iesi.lcdOn.setBoolValue(1);
return 1;
if (!acconfig) {
me._IESITime = pts.Sim.Time.elapsedSec.getValue() - (me._fastInit ? 80 : 0);
} else {
me.group.setVisible(0);
pts.Instrumentation.Iesi.lcdOn.setBoolValue(0);
return 0;
me._IESITime = pts.Sim.Time.elapsedSec.getValue() - 87;
}
},
};
@ -308,40 +362,41 @@ var IESIRecipient =
var A320IESI = IESIRecipient.new("A320 IESI");
emesary.GlobalTransmitter.Register(A320IESI);
# Emesary Frame Notifiaction Properties
var input = {
"acconfig": "/systems/acconfig/autoconfig-running",
"airspeed": "/instrumentation/airspeed-indicator[0]/indicated-speed-kt",
"altitude": "/instrumentation/altimeter[6]/indicated-altitude-ft",
"altitude_ind": "/instrumentation/altimeter[6]/indicated-altitude-ft-pfd",
"altimeter_mode": "/instrumentation/altimeter[6]/std",
"airspeedIESI": "/instrumentation/airspeed-indicator[0]/indicated-speed-kt",
"altitudeIESI": "/instrumentation/altimeter[6]/indicated-altitude-ft",
"altitude_indIESI": "/instrumentation/altimeter[6]/indicated-altitude-ft-pfd",
"altimeter_mode_iesi": "/instrumentation/altimeter[6]/std",
"attReset": "/instrumentation/iesi/att-reset",
"iesiBrt": "/controls/lighting/DU/iesi",
"iesiInit": "/instrumentation/iesi/iesi-init",
"iesiPitch": "/instrumentation/iesi/pitch-deg",
"iesiPowered": "/instrumentation/iesi/power/power-on",
"irAlignFault": "/systems/navigation/align-fault",
"mach": "/instrumentation/airspeed-indicator/indicated-mach",
"pitch": "/instrumentation/iesi/pitch-deg",
"qnh_hpa": "/instrumentation/altimeter[6]/setting-hpa",
"qnh_inhg": "/instrumentation/altimeter[6]/setting-inhg",
"qnh_hpa_iesi": "/instrumentation/altimeter[6]/setting-hpa",
"qnh_inhg_iesi": "/instrumentation/altimeter[6]/setting-inhg",
"roll": "/orientation/roll-deg",
"skid": "/instrumentation/iesi/slip-skid",
"showMach": "/instrumentation/iesi/display/show-mach",
"skid": "/instrumentation/iesi/slip-skid",
};
foreach (var name; keys(input)) {
emesary.GlobalTransmitter.NotifyAll(notifications.FrameNotificationAddProperty.new("A320 IESI", name, input[name]));
}
# Helper functions
var showIESI = func {
var dlg = canvas.Window.new([512, 512], "dialog").set("resize", 1);
dlg.setCanvas(A320IESI.MainScreen.canvas);
}
var roundabout = func(x) {
var y = x - int(x);
return y < 0.5 ? int(x) : 1 + int(x);
return (x - int(x)) < 0.5 ? int(x) : 1 + int(x);
};
var roundaboutAlt = func(x) {
var y = x * 0.2 - int(x * 0.2);
return y < 0.5 ? 5 * int(x * 0.2) : 5 + 5 * int(x * 0.2);
return (x * 0.2 - int(x * 0.2)) < 0.5 ? 5 * int(x * 0.2) : 5 + 5 * int(x * 0.2);
};

View file

@ -195,6 +195,25 @@ var canvas_lowerECAMPageApu =
}),
];
obj.updateItemsPower = [
props.UpdateManager.FromHashList(["du3Power","du4Power","du3InTest","du4InTest","ecamDuXfr","pageMatch"], 1, func(val) {
if (val.pageMatch) {
if (val.du4Power) {
obj.group.setVisible(val.du4InTest ? 0 : 1);
obj.test.setVisible(val.du4InTest ? 1 : 0);
} else if (val.ecamDuXfr and val.du3Power) {
obj.group.setVisible(val.du3InTest ? 0 : 1);
obj.test.setVisible(val.du3InTest ? 1 : 0);
} else {
obj.group.setVisible(0);
obj.test.setVisible(0);
}
} else {
obj.group.setVisible(0);
}
}),
];
obj.updateItemsBottom = [
props.UpdateManager.FromHashValue("acconfigUnits", nil, func(val) {
obj.units = val;
@ -270,7 +289,7 @@ var canvas_lowerECAMPageApu =
}
},
update: func(notification) {
me.updatePower();
me.updatePower(notification);
if (me.test.getVisible() == 1) {
me.updateTest(notification);
@ -313,38 +332,16 @@ var canvas_lowerECAMPageApu =
me.updateBottom(notification);
},
updatePower: func() {
updatePower: func(notification) {
if (me.name == ecam.SystemDisplayController.displayedPage.name) {
if (du4_lgt.getValue() > 0.01 and systems.ELEC.Bus.ac2.getValue() >= 110) {
if (du4_test_time.getValue() + du4_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) {
me.group.setVisible(0);
me.test.setVisible(1);
notification.pageMatch = 1;
} else {
me.group.setVisible(1);
me.test.setVisible(0);
notification.pageMatch = 0;
}
} else {
if (pts.Modes.EcamDuXfr.getBoolValue()) {
if (du3_lgt.getValue() > 0.01 and systems.ELEC.Bus.acEss.getValue() >= 110) {
if (du3_test_time.getValue() + du3_test_amount.getValue() >= pts.Sim.Time.elapsedSec.getValue()) {
me.group.setVisible(0);
me.test.setVisible(1);
} else {
me.group.setVisible(1);
me.test.setVisible(0);
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
}
} else {
me.group.setVisible(0);
me.test.setVisible(0);
}
}
} else {
me.group.setVisible(0);
# don't hide the test group; just let whichever page is active control it
foreach(var update_item; me.updateItemsPower)
{
update_item.update(notification);
}
},
};

View file

@ -73,8 +73,7 @@ var canvas_lowerECAM_base =
}
},
# Due to weirdness of the parents hash / me reference
# you need to access it using me.Test_white rather than
# me["Test_white"]
# you need to access it using me.Test_white
updateTest: func(notification) {
if (du4_test_time.getValue() + 1 >= notification.elapsedTime) {
me.Test_white.show();

View file

@ -138,7 +138,7 @@ var canvas_lowerECAMPageFctl =
}
}),
props.UpdateManager.FromHashValue("fctlElevTrim", 0.01, func(val) {
obj["PT"].setText(sprintf("%2.1f", val));
obj["PT"].setText(sprintf("%4.1f", val));
if (val >= 0.09) {
obj["PTupdn"].setText("UP");
obj["PTupdn"].show();

View file

@ -61,6 +61,11 @@ var input = {
gForceDisplay: "/ECAM/Lower/g-force-display",
hour: "/sim/time/utc/hour",
minute: "/sim/time/utc/minute",
du3Power: "/instrumentation/displays/du3/power-on",
du4Power: "/instrumentation/displays/du4/power-on",
du3InTest: "/instrumentation/displays/du3/test-active",
du4InTest: "/instrumentation/displays/du4/test-active",
ecamDuXfr: "/modes/ecam-du-xfr",
};
foreach (var name; keys(input)) {

View file

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1024pt"
height="1024pt"
viewBox="0 0 1024 1024"
version="1.1"
id="svg2"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="fctl.svg">
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="fctl.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata375">
<rdf:RDF>
@ -22,7 +22,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -37,17 +36,19 @@
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-width="1920"
inkscape:window-height="974"
id="namedview371"
showgrid="false"
inkscape:zoom="1.28"
inkscape:cx="608.14718"
inkscape:cy="323.45523"
inkscape:window-x="-8"
inkscape:window-y="-8"
showgrid="true"
inkscape:zoom="5.12"
inkscape:cx="705.66406"
inkscape:cy="772.46094"
inkscape:window-x="-11"
inkscape:window-y="-11"
inkscape:window-maximized="1"
inkscape:current-layer="svg2">
inkscape:current-layer="svg2"
inkscape:pagecheckerboard="0"
inkscape:document-units="pt">
<inkscape:grid
type="xygrid"
id="grid5153" />
@ -316,7 +317,7 @@
id="tspan4317"
x="390.37976"
y="387.46661"
style="font-size:39.1399231px;line-height:1.25;fill:#0dc04b;fill-opacity:1">1</tspan></text>
style="font-size:39.1399px;line-height:1.25;fill:#0dc04b;fill-opacity:1">1</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -329,7 +330,7 @@
id="tspan4321"
x="480.16635"
y="382.16803"
style="font-size:36.83391571px;line-height:1.25">2</tspan></text>
style="font-size:36.8339px;line-height:1.25">2</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -342,7 +343,7 @@
id="tspan4325"
x="777.35413"
y="406.5748"
style="font-size:34.8348999px;line-height:1.25">3</tspan></text>
style="font-size:34.8349px;line-height:1.25">3</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -355,7 +356,7 @@
id="tspan4317-5"
x="616.31134"
y="388.68933"
style="font-size:39.1399231px;line-height:1.25;fill:#0dc04b;fill-opacity:1">1</tspan></text>
style="font-size:39.1399px;line-height:1.25;fill:#0dc04b;fill-opacity:1">1</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -368,7 +369,7 @@
id="tspan4321-2"
x="719.61761"
y="381.89911"
style="font-size:36.83391571px;line-height:1.25">2</tspan></text>
style="font-size:36.8339px;line-height:1.25">2</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 279.7,580.1 -12,0 0,-17.4 12,0 0.1,202.2 -11.9,-0.1 -0.2,-18.1 12,0"
@ -466,7 +467,7 @@
id="tspan4333"
x="594.52124"
y="350.0433"
style="font-size:33.51122284px;line-height:1.25;fill:#ffffff;fill-opacity:1">SEC</tspan></text>
style="font-size:33.5112px;line-height:1.25;fill:#ffffff;fill-opacity:1">SEC</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -478,7 +479,7 @@
id="tspan4337"
x="474.80362"
y="268.75244"
style="font-size:34.58100891px;line-height:1.25;fill:#ffffff;fill-opacity:1">SPD BRK</tspan></text>
style="font-size:34.581px;line-height:1.25;fill:#ffffff;fill-opacity:1">SPD BRK</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -491,7 +492,7 @@
id="tspan4345"
x="371.59274"
y="519.38177"
style="font-size:37.53709793px;line-height:1.25">PITCH TRIM</tspan></text>
style="font-size:37.5371px;line-height:1.25">PITCH TRIM</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370"
@ -511,7 +512,7 @@
id="tspan4349"
x="645.71008"
y="499.73752"
style="font-size:34.26653671px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-2"
@ -531,23 +532,23 @@
id="tspan4357"
x="696.84619"
y="496.11667"
style="font-size:34.50801086px;line-height:1.25">Y</tspan></text>
style="font-size:34.508px;line-height:1.25">Y</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="639.08258"
y="494.57248"
style="font-style:normal;font-weight:normal;font-size:34.6309px;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.966793px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="617.86084"
y="513.65326"
id="PTupdn"
transform="scale(0.86699517,1.153409)"
transform="scale(0.89677395,1.1151082)"
inkscape:label="#text4359"><tspan
sodipodi:role="line"
id="tspan4361"
x="639.08258"
y="494.57248"
style="font-size:32.03270721px;line-height:1.25">DN</tspan></text>
x="617.86084"
y="513.65326"
style="font-size:34.6309px;line-height:1.25;stroke-width:0.966793px">DN</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="515.71716"
y="567.75739"
id="PTcc"
@ -556,7 +557,7 @@
id="tspan4391"
x="515.71716"
y="567.75739"
style="font-size:32px;line-height:1.25;fill:#179ab7;fill-opacity:1;">°</tspan></text>
style="font-size:32px;line-height:1.25;fill:#179ab7;fill-opacity:1">°</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-2-7-0"
@ -576,7 +577,7 @@
id="tspan4353-2"
x="547.90643"
y="623.91565"
style="font-size:34.82009125px;line-height:1.25">B</tspan></text>
style="font-size:34.8201px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-2-7-0-9"
@ -596,7 +597,7 @@
id="tspan4357-0"
x="571.21545"
y="629.27997"
style="font-size:34.50801086px;line-height:1.25">Y</tspan></text>
style="font-size:34.508px;line-height:1.25">Y</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -608,7 +609,7 @@
id="tspan4453"
x="547.8645"
y="565.62201"
style="font-size:32.44409943px;line-height:1.25">RUD</tspan></text>
style="font-size:32.4441px;line-height:1.25">RUD</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -620,12 +621,12 @@
id="tspan4457"
x="73.084137"
y="341.38232"
style="font-size:38.63742447px;line-height:1.25;fill:#ffffff;fill-opacity:1"> </tspan><tspan
style="font-size:38.6374px;line-height:1.25;fill:#ffffff;fill-opacity:1"> </tspan><tspan
sodipodi:role="line"
x="73.084137"
y="389.67911"
id="tspan4459"
style="font-size:38.63742447px;line-height:1.25;fill:#ffffff;fill-opacity:1">AIL</tspan></text>
style="font-size:38.6374px;line-height:1.25;fill:#ffffff;fill-opacity:1">AIL</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -637,7 +638,7 @@
id="tspan4463"
x="100.07736"
y="328.55365"
style="font-size:34.5196991px;line-height:1.25">L</tspan></text>
style="font-size:34.5197px;line-height:1.25">L</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -649,12 +650,12 @@
id="tspan4457-3"
x="896.62933"
y="341.39563"
style="font-size:38.63742447px;line-height:1.25;fill:#ffffff;fill-opacity:1"> </tspan><tspan
style="font-size:38.6374px;line-height:1.25;fill:#ffffff;fill-opacity:1"> </tspan><tspan
sodipodi:role="line"
x="896.62933"
y="389.69241"
id="tspan4459-6"
style="font-size:38.63742447px;line-height:1.25;fill:#ffffff;fill-opacity:1">AIL</tspan></text>
style="font-size:38.6374px;line-height:1.25;fill:#ffffff;fill-opacity:1">AIL</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -666,7 +667,7 @@
id="tspan4488"
x="985.13922"
y="328.40674"
style="font-size:34.51330566px;line-height:1.25">R</tspan></text>
style="font-size:34.5133px;line-height:1.25">R</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-2-7"
@ -686,7 +687,7 @@
id="tspan4349-9-6"
x="509.28641"
y="633.83917"
style="font-size:34.2665329px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-6"
@ -706,7 +707,7 @@
id="tspan4349-9-6-8"
x="118.64819"
y="410.806"
style="font-size:34.2665329px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0-6"
@ -726,7 +727,7 @@
id="tspan4353-2-9-0"
x="1015.4791"
y="404.19797"
style="font-size:34.82009125px;line-height:1.25">B</tspan></text>
style="font-size:34.8201px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0"
@ -746,7 +747,7 @@
id="tspan4349-9-6-8-3"
x="955.30261"
y="410.69336"
style="font-size:34.2665329px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -758,7 +759,7 @@
id="tspan4463-5"
x="203.8161"
y="562.763"
style="font-size:34.5196991px;line-height:1.25">L</tspan></text>
style="font-size:34.5197px;line-height:1.25">L</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -770,7 +771,7 @@
id="tspan4488-2"
x="881.46405"
y="562.88373"
style="font-size:34.50801086px;line-height:1.25">R</tspan></text>
style="font-size:34.508px;line-height:1.25">R</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3"
@ -790,7 +791,7 @@
id="tspan4353-2-9-9"
x="78.4776"
y="404.40564"
style="font-size:34.82009125px;line-height:1.25">B</tspan></text>
style="font-size:34.8201px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0-2-6-1"
@ -810,7 +811,7 @@
id="tspan4353-2-9-3"
x="183.42683"
y="640.21198"
style="font-size:34.82009125px;line-height:1.25">B</tspan></text>
style="font-size:34.8201px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0-2-6-1-8"
@ -830,7 +831,7 @@
id="tspan4349-9-6-8-1"
x="222.85838"
y="650.3078"
style="font-size:34.2665329px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0-2-6"
@ -850,7 +851,7 @@
id="tspan4353-2-9-3-9"
x="911.57098"
y="639.90741"
style="font-size:34.82009125px;line-height:1.25">B</tspan></text>
style="font-size:34.8201px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-0-2"
@ -870,7 +871,7 @@
id="tspan4357-1"
x="860.73682"
y="644.94257"
style="font-size:34.50801086px;line-height:1.25">Y</tspan></text>
style="font-size:34.508px;line-height:1.25">Y</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -882,7 +883,7 @@
id="tspan4716"
x="172.05634"
y="589.32837"
style="font-size:36.08533478px;line-height:1.25">ELEV</tspan></text>
style="font-size:36.0853px;line-height:1.25">ELEV</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -894,7 +895,7 @@
id="tspan4716-4"
x="858.55914"
y="588.7785"
style="font-size:36.08533478px;line-height:1.25">ELEV</tspan></text>
style="font-size:36.0853px;line-height:1.25">ELEV</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#0dc04b;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 281.6,684.39393 28,-14.4 0,27.2 z"
@ -922,16 +923,16 @@
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="475.86395"
x="461.61139"
y="542.09473"
id="PT"
transform="scale(0.94719206,1.0557521)"
inkscape:label="#text4367-5"><tspan
sodipodi:role="line"
id="tspan4369-6-6"
x="475.86395"
x="461.61139"
y="542.09473"
style="font-size:35.82036972px;line-height:1.25">000</tspan></text>
style="font-size:35.8204px;line-height:1.25">0000</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-6-2"
@ -951,7 +952,7 @@
id="tspan4349-9-6-5"
x="506.57623"
y="99.568321"
style="font-size:34.2665329px;line-height:1.25">G</tspan></text>
style="font-size:34.2665px;line-height:1.25">G</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-6-2-8"
@ -971,7 +972,7 @@
id="tspan4353-2-5"
x="547.10791"
y="98.468781"
style="font-size:34.75317001px;line-height:1.25">B</tspan></text>
style="font-size:34.7532px;line-height:1.25">B</tspan></text>
<rect
style="fill:#898989;fill-opacity:1;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4370-3-6-2-8-9"
@ -991,7 +992,7 @@
id="tspan4357-0-1"
x="575.88898"
y="98.898796"
style="font-size:34.50801086px;line-height:1.25">Y</tspan></text>
style="font-size:34.508px;line-height:1.25">Y</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#0dc04b;stroke-width:2.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 585.91821,208.72929 -28.8,0 14.4,0 -0.10607,-28.90607 -12.79687,-0.15 12.81856,-28.31891 12.54179,28.46893 -12.56035,0"
@ -1139,7 +1140,7 @@
x="321.05841"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-size:33.51122284px;line-height:1.25;fill:#ffffff;fill-opacity:1"
style="font-size:33.5112px;line-height:1.25;fill:#ffffff;fill-opacity:1"
y="350.05472"
x="321.05841"
id="tspan4347"
@ -1155,7 +1156,7 @@
x="442.13232"
id="tspan4329"
sodipodi:role="line"
style="font-size:43.1136055px;line-height:1.25">1</tspan></text>
style="font-size:43.1136px;line-height:1.25">1</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#bb6100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -1167,7 +1168,7 @@
id="tspan4933"
x="384.5567"
y="212.46097"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">2</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">2</tspan></text>
<text
inkscape:label="#text4931"
id="spoiler3Lf"
@ -1175,7 +1176,7 @@
x="326.50671"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#bb6100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
y="218.64847"
x="326.50671"
id="tspan4334"
@ -1191,7 +1192,7 @@
id="tspan4338"
x="267.95621"
y="226.46095"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">4</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">4</tspan></text>
<text
inkscape:label="#text4931"
id="spoiler5Lf"
@ -1199,7 +1200,7 @@
x="209.6062"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#bb6100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
y="233.62128"
x="209.6062"
id="tspan4342"
@ -1215,7 +1216,7 @@
id="tspan4346"
x="558.73334"
y="205.37579"
style="font-size:43.1136055px;line-height:1.25">1</tspan></text>
style="font-size:43.1136px;line-height:1.25">1</tspan></text>
<text
inkscape:label="#text4931"
id="spoiler2Rf"
@ -1223,7 +1224,7 @@
x="617.68774"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#bb6100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
y="212.46097"
x="617.68774"
id="tspan4350"
@ -1239,7 +1240,7 @@
id="tspan4354"
x="676.00671"
y="218.64847"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">3</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">3</tspan></text>
<text
inkscape:label="#text4931"
id="spoiler4Rf"
@ -1247,7 +1248,7 @@
x="734.3562"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#bb6100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'"
y="226.46095"
x="734.3562"
id="tspan4358"
@ -1263,7 +1264,7 @@
id="tspan4362"
x="792.54504"
y="233.62128"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136055px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">5</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.1136px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans'">5</tspan></text>
<path
style="fill:#179ab7;fill-opacity:1;stroke:#179ab7;stroke-width:1.67705202;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 513.74999,810.24995 v 18.75003"

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

File diff suppressed because it is too large Load diff

View file

@ -2631,26 +2631,26 @@
transform="scale(0.87678236,1.1405339)"
id="FMA_dh"
y="115.05846"
x="831.23047"
x="826.09802"
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:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.657577"
xml:space="preserve"
inkscape:label="#text983"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:34px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.657577"
y="115.05846"
x="831.23047"
x="826.09802"
id="tspan4301"
sodipodi:role="line">RADIO</tspan></text>
<text
inkscape:label="#text983"
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;display:inline;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.657577"
x="934.0097"
x="937.43134"
y="115.05846"
id="FMA_dhn"
transform="scale(0.87678236,1.1405339)"><tspan
sodipodi:role="line"
id="tspan4305"
x="934.0097"
x="937.43134"
y="115.05846"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:34px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.657577">0250</tspan></text>
<g

Before

Width:  |  Height:  |  Size: 349 KiB

After

Width:  |  Height:  |  Size: 349 KiB

View file

@ -29,16 +29,6 @@
</channel>
<channel name="IESI" execrate="8">
<actuator name="/instrumentation/iesi/att-reset">
<input>/instrumentation/iesi/att-reset-cmd</input>
<rate_limit sense="incr">0.5</rate_limit>
<rate_limit sense="decr">100</rate_limit>
</actuator>
</channel>
<channel name="ADF" execrate="8">
<switch name="/instrumentation/adf[0]/power-supply">
@ -512,6 +502,12 @@
<channel name="IESI" execrate="8">
<actuator name="/instrumentation/iesi/att-reset">
<input>/instrumentation/iesi/att-reset-cmd</input>
<rate_limit sense="incr">0.5</rate_limit>
<rate_limit sense="decr">100</rate_limit>
</actuator>
<switch name="/instrumentation/iesi/display/show-mach">
<default value="0"/>
<test logic="OR" value="1">
@ -557,6 +553,7 @@
<product>
<value>4</value>
<property>/controls/lighting/DU/iesi</property>
<property>/instrumentation/iesi/power/power-on</property>
</product>
</sum>
</function>
@ -564,4 +561,82 @@
</channel>
<channel name="DU Power" execrate="8">
<switch name="/instrumentation/displays/du3/power-command">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/ac-ess ge 110
/controls/lighting/DU/du3 ge 0.01
</test>
</switch>
<actuator name="/instrumentation/displays/du3/power-transient-timer">
<input>/instrumentation/displays/du3/power-command</input>
<rate_limit sense="decr">5</rate_limit>
<rate_limit sene="incr">100</rate_limit>
</actuator>
<switch name="/instrumentation/displays/du3/power-on">
<default value="0"/>
<test logic="OR" value="1">
/instrumentation/displays/du3/power-transient-timer ne 0
</test>
</switch>
<fcs_function name="/instrumentation/displays/du3/test-sum">
<function>
<sum>
<property>/instrumentation/du/du3-test-amount</property>
<property>/instrumentation/du/du3-test-time</property>
</sum>
</function>
</fcs_function>
<switch name="/instrumentation/displays/du3/test-active">
<default value="0"/>
<test logic="OR" value="1">
/instrumentation/displays/du3/test-sum ge /sim/time/elapsed-sec
</test>
</switch>
<switch name="/instrumentation/displays/du4/power-command">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/ac-2 ge 110
/controls/lighting/DU/du4 ge 0.01
</test>
</switch>
<actuator name="/instrumentation/displays/du4/power-transient-timer">
<input>/instrumentation/displays/du4/power-command</input>
<rate_limit sense="decr">5</rate_limit>
<rate_limit sene="incr">100</rate_limit>
</actuator>
<switch name="/instrumentation/displays/du4/power-on">
<default value="0"/>
<test logic="OR" value="1">
/instrumentation/displays/du4/power-transient-timer ne 0
</test>
</switch>
<fcs_function name="/instrumentation/displays/du4/test-sum">
<function>
<sum>
<property>/instrumentation/du/du4-test-amount</property>
<property>/instrumentation/du/du4-test-time</property>
</sum>
</function>
</fcs_function>
<switch name="/instrumentation/displays/du4/test-active">
<default value="0"/>
<test logic="OR" value="1">
/instrumentation/displays/du4/test-sum ge /sim/time/elapsed-sec
</test>
</switch>
</channel>
</system>