1
0
Fork 0

Stall warning: add IR sourcing; bugfix condition. BUSS: enable when 3 ADRs are off

This commit is contained in:
Jonathan Redpath 2022-01-08 13:25:51 +00:00
parent 8890a073b9
commit 879168d1a3
4 changed files with 380 additions and 272 deletions

View file

@ -770,8 +770,6 @@ var canvas_pfd = {
obj.AI_fpv_rot = obj["FPV"].createTransform(); obj.AI_fpv_rot = obj["FPV"].createTransform();
obj.page = obj.group; obj.page = obj.group;
# temporarily hidden
obj["ASI_buss"].hide();
obj["ASI_index_middle"].hide(); obj["ASI_index_middle"].hide();
# end temporary hide # end temporary hide
@ -786,7 +784,7 @@ var canvas_pfd = {
"ALT_digit_DN","ALT_digit_UP_metric","ALT_error","ALT_neg","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer", "ALT_digit_DN","ALT_digit_UP_metric","ALT_error","ALT_neg","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer",
"HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame","TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend", "HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame","TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend",
"ILS_HDG_R","ILS_HDG_L","ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref","FPV","spdLimError","vsFMArate","tailstrikeInd", "ILS_HDG_R","ILS_HDG_L","ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref","FPV","spdLimError","vsFMArate","tailstrikeInd",
"Metric_box","Metric_letter","Metric_cur_alt","ASI_buss","ASI_index_middle"]; "Metric_box","Metric_letter","Metric_cur_alt","ASI_buss","ASI_buss_ref","ASI_index_middle"];
}, },
getKeysTest: func() { getKeysTest: func() {
return ["Test_white","Test_text"]; return ["Test_white","Test_text"];
@ -796,6 +794,7 @@ var canvas_pfd = {
}, },
aoa: 0, aoa: 0,
showMetricAlt: 0, showMetricAlt: 0,
ASItrendIsShown: 0,
update: func(notification) { update: func(notification) {
me.updatePower(notification); me.updatePower(notification);
@ -877,6 +876,8 @@ var canvas_pfd = {
if (dmc.DMController.DMCs[me.number].outputs[0] != nil) { if (dmc.DMController.DMCs[me.number].outputs[0] != nil) {
me.ind_spd = dmc.DMController.DMCs[me.number].outputs[0].getValue(); me.ind_spd = dmc.DMController.DMCs[me.number].outputs[0].getValue();
me["ASI_error"].hide(); me["ASI_error"].hide();
me["ASI_buss"].hide();
me["ASI_buss_ref"].hide();
me["ASI_frame"].setColor(1,1,1); me["ASI_frame"].setColor(1,1,1);
me["ASI_group"].show(); me["ASI_group"].show();
me["VLS_min"].hide(); me["VLS_min"].hide();
@ -1219,17 +1220,23 @@ var canvas_pfd = {
me["ASI_trend_up"].setTranslation(0, math.clamp(me.ASItrend, 0, 50) * -6.6); me["ASI_trend_up"].setTranslation(0, math.clamp(me.ASItrend, 0, 50) * -6.6);
me["ASI_trend_down"].setTranslation(0, math.clamp(me.ASItrend, -50, 0) * -6.6); me["ASI_trend_down"].setTranslation(0, math.clamp(me.ASItrend, -50, 0) * -6.6);
if (me.ASItrend >= 2) { if (notification.fac1 or notification.fac2) {
me["ASI_trend_up"].show(); if (me.ASItrend >= 2 or (me.ASItrendIsShown and me.ASItrend >= 1)) {
me["ASI_trend_down"].hide(); me["ASI_trend_up"].show();
} else if (me.ASItrend <= -2) { me["ASI_trend_down"].hide();
me["ASI_trend_down"].show(); me.ASItrendIsShown = 1;
me["ASI_trend_up"].hide(); } else if (me.ASItrend <= -2 or (me.ASItrendIsShown and me.ASItrend <= -1)) {
me["ASI_trend_up"].hide();
me["ASI_trend_down"].show();
me.ASItrendIsShown = 1;
} else {
me["ASI_trend_up"].hide();
me["ASI_trend_down"].hide();
}
} else { } else {
me["ASI_trend_up"].hide(); me["ASI_trend_up"].hide();
me["ASI_trend_down"].hide(); me["ASI_trend_down"].hide();
} }
if (-notification.agl >= -565 and -notification.agl <= 565) { if (-notification.agl >= -565 and -notification.agl <= 565) {
me["ground_ref"].show(); me["ground_ref"].show();
@ -1238,7 +1245,16 @@ var canvas_pfd = {
} }
} else { } else {
me["ASI_group"].hide(); me["ASI_group"].hide();
me["ASI_error"].show(); if (!systems.ADIRS.Operating.adr[0].getValue() and !systems.ADIRS.Operating.adr[1].getValue() and !systems.ADIRS.Operating.adr[2].getValue()) {
me["ASI_buss"].show();
me["ASI_buss_ref"].show();
me["ASI_buss"].setTranslation(0, getprop("/instrumentation/pfd/buss/translate"));
me["ASI_error"].hide();
} else {
me["ASI_buss"].hide();
me["ASI_buss_ref"].hide();
me["ASI_error"].show();
}
me["ASI_frame"].setColor(1,0,0); me["ASI_frame"].setColor(1,0,0);
me["clean_speed"].hide(); me["clean_speed"].hide();
me["S_target"].hide(); me["S_target"].hide();

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 348 KiB

After

Width:  |  Height:  |  Size: 348 KiB

View file

@ -2379,6 +2379,14 @@
/it-fbw/law eq 0 /it-fbw/law eq 0
/fdm/jsbsim/fcs/slat-pos-deg lt 15 /fdm/jsbsim/fcs/slat-pos-deg lt 15
<test logic="OR"> <test logic="OR">
<test logic="AND">
aero/alpha-deg-corrected ge 13.5
<test logic="OR">
/systems/navigation/aligned-1 eq 1
/systems/navigation/aligned-2 eq 1
/systems/navigation/aligned-3 eq 1
</test>
</test>
<test logic="AND"> <test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 13.5 /systems/navigation/adr/output/aoa-1 ge 13.5
/systems/navigation/adr/operating-1 eq 1 /systems/navigation/adr/operating-1 eq 1
@ -2396,23 +2404,41 @@
<test logic="AND"> <test logic="AND">
/it-fbw/law eq 0 /it-fbw/law eq 0
/fdm/jsbsim/fcs/slat-pos-deg ge 15 /fdm/jsbsim/fcs/slat-pos-deg ge 15
<test logic="AND"> <test logic="OR">
/systems/navigation/adr/output/aoa-1 ge 22 <test logic="AND">
/systems/navigation/adr/operating-1 eq 1 aero/alpha-deg-corrected ge 22
</test> <test logic="OR">
<test logic="AND"> /systems/navigation/aligned-1 eq 1
/systems/navigation/adr/output/aoa-2 ge 22 /systems/navigation/aligned-2 eq 1
/systems/navigation/adr/operating-2 eq 1 /systems/navigation/aligned-3 eq 1
</test> </test>
<test logic="AND"> </test>
/systems/navigation/adr/output/aoa-3 ge 22 <test logic="AND">
/systems/navigation/adr/operating-3 eq 1 /systems/navigation/adr/output/aoa-1 ge 22
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 22
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 22
/systems/navigation/adr/operating-3 eq 1
</test>
</test> </test>
</test> </test>
<test logic="AND"> <test logic="AND">
/it-fbw/law ne 0 /it-fbw/law ne 0
/fdm/jsbsim/fcs/slat-pos-deg lt 15 /fdm/jsbsim/fcs/slat-pos-deg lt 15
<test logic="OR"> <test logic="OR">
<test logic="AND">
aero/alpha-deg-corrected ge 8
<test logic="OR">
/systems/navigation/aligned-1 eq 1
/systems/navigation/aligned-2 eq 1
/systems/navigation/aligned-3 eq 1
</test>
</test>
<test logic="AND"> <test logic="AND">
/systems/navigation/adr/output/aoa-1 ge 8 /systems/navigation/adr/output/aoa-1 ge 8
/systems/navigation/adr/operating-1 eq 1 /systems/navigation/adr/operating-1 eq 1
@ -2430,17 +2456,27 @@
<test logic="AND"> <test logic="AND">
/it-fbw/law ne 0 /it-fbw/law ne 0
/fdm/jsbsim/fcs/slat-pos-deg ge 15 /fdm/jsbsim/fcs/slat-pos-deg ge 15
<test logic="AND"> <test logic="OR">
/systems/navigation/adr/output/aoa-1 ge 14 <test logic="AND">
/systems/navigation/adr/operating-1 eq 1 aero/alpha-deg-corrected ge 14
</test> <test logic="OR">
<test logic="AND"> /systems/navigation/aligned-1 eq 1
/systems/navigation/adr/output/aoa-2 ge 14 /systems/navigation/aligned-2 eq 1
/systems/navigation/adr/operating-2 eq 1 /systems/navigation/aligned-3 eq 1
</test> </test>
<test logic="AND"> </test>
/systems/navigation/adr/output/aoa-3 ge 14 <test logic="AND">
/systems/navigation/adr/operating-3 eq 1 /systems/navigation/adr/output/aoa-1 ge 14
/systems/navigation/adr/operating-1 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-2 ge 14
/systems/navigation/adr/operating-2 eq 1
</test>
<test logic="AND">
/systems/navigation/adr/output/aoa-3 ge 14
/systems/navigation/adr/operating-3 eq 1
</test>
</test> </test>
</test> </test>
</test> </test>

View file

@ -466,4 +466,40 @@
</channel> </channel>
<channel name="PFD BUSS" execrate="8">
<fcs_function name="/instrumentation/pfd/buss/translate">
<function>
<ifthen>
<lt>
<property>/fdm/jsbsim/fcs/slat-pos-deg</property>
<value>15</value>
</lt>
<table>
<independentVar lookup="row">aero/alpha-deg-corrected</independentVar>
<tableData>
-1.5 136.409
0.0 53.447
3.0 0
6.5 -53.447
8.0 -136.409
</tableData>
</table>
<table>
<independentVar lookup="row">aero/alpha-deg-corrected</independentVar>
<tableData>
-1.5 136.409
0.0 53.447
3.0 0
12.5 -53.447
14.0 -136.409
</tableData>
</table>
</ifthen>
</function>
</fcs_function>
</channel>
</system> </system>