Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spd window #315

Open
wants to merge 59 commits into
base: dev
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
fa08837
retrieve dep.elevation and print
Sep 25, 2023
8fa439d
before dashes
Sep 29, 2023
fa62575
accelAltFt
Oct 2, 2023
69a96e8
created setAccelAlt func
Oct 5, 2023
81680b9
clr key on init and perf/to working
Oct 10, 2023
e5ababe
conform tour 6.10.23
Oct 10, 2023
ec62e66
split line for TOPERF page for thrred/accel
Oct 17, 2023
8f9d0a5
Accel/ThrRed working as tested
Oct 18, 2023
d870da7
Merge branch 'dev' into mcdu-fmgc-merger
Oct 18, 2023
110dcc0
corrected manual thr/acc alt with no depApt
Oct 24, 2023
5a76df6
introducing ga-accel and ga-thrRed variables
Oct 30, 2023
1e0a23c
print accel/thrred accordingly
Oct 30, 2023
8636dca
ga accel/trhRed vars working- MCDU not correct
Nov 1, 2023
6f8f999
trying to change fonrt size in perfga
Nov 2, 2023
9e3f5c7
cannot change fontsize prfga page
Nov 2, 2023
6297d2e
input in perfga almost working
Nov 2, 2023
d1fd0f0
check if acc > thrRed
Nov 2, 2023
ef04b86
round error corrected in acc/thrRed
Nov 2, 2023
7dc9b68
Startpoint for GA Property insertion
Nov 3, 2023
1e5ce33
improved imput on perf-ga page
Nov 3, 2023
f1f68ef
setting fonts
Nov 3, 2023
e243487
input on perf ga further improved
Nov 3, 2023
e482426
fadec thrRed changed in ga by variables
Nov 4, 2023
3bb92d0
minor errors corrected
Nov 6, 2023
23dcd73
adding comments
Nov 6, 2023
ca2a482
Minor change to test push request
Nov 6, 2023
67e28bd
testing a timer with FD1 button
Nov 7, 2023
9d8a7da
default fcu alt set to 100 ft
Nov 13, 2023
3db9d0b
fcu alt selection for 1k position corrected
Nov 13, 2023
5dbc713
finding FCU outputs
Nov 26, 2023
ca91962
Merge https://github.com/legoboyvdlp/A320-family into PERF-GA-Page-Ac…
Nov 26, 2023
20bb2f9
Merge https://github.com/legoboyvdlp/A320-family into FCU-Preselect
Dec 2, 2023
96b4227
spd preselection timer in managed
Dec 19, 2023
429521f
preselection working
Dec 20, 2023
6e1ceb0
something wrong here
Dec 20, 2023
016f366
spd window indication corrected
Dec 20, 2023
e0ced78
fcu speed window corrected
Dec 20, 2023
f97616a
working commit. adding spd window functionality
Dec 21, 2023
f1544a8
startpoint for new managed speed selection
Dec 21, 2023
fdf1f26
not working to get back to selected
Dec 22, 2023
2f618cd
interim: fms gets into selected when spd pushed
Dec 22, 2023
f42e725
fmgc logic and fcu working todo: fcu cleanup and spd window
Dec 22, 2023
1ea47e0
separation of mngd spd active and valid
Dec 28, 2023
0e6ca1c
working on fcu indication at startup
Dec 29, 2023
8bc0210
start to refine FCU spd window
Jan 17, 2024
0e69688
selected spd on gnd inhibited
Jan 17, 2024
24ccf98
mngSpd triggered by FDs on gnd
Jan 22, 2024
fcedd11
mng speed triggered by v2 on gnd
Jan 22, 2024
9f633b7
before SRS trigger
Jan 22, 2024
9dd59d5
Managed speed on gnd as expected.
Jan 22, 2024
b047e5d
sel spd inhibit until 5s after lift-off
Jan 23, 2024
0fabe4f
Merge branch 'FCU-Preselect' into SPD-Window
Jan 24, 2024
121b8a1
Merge branch 'PERF-GA-Page-Accel/ThrRed-Input-correction' into SPD-Wi…
Jan 24, 2024
71a9b13
sel spd inhibit with one eng running
Jan 24, 2024
477f7b8
align on gnd
Jan 30, 2024
bc2262c
FCU SPD window behaviour improved
Jan 31, 2024
34d4605
Cleaned up Managed Speed vars. Preparing to merge last redundant vars:
Feb 20, 2024
b69cd3f
consolidated all managed speed into mngSpdActive, and spdWindowOpen
Feb 20, 2024
d9f26fe
removed unused "fmgcSpeedValid"
Feb 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
introducing ga-accel and ga-thrRed variables
Maximiliano Keller committed Oct 30, 2023
commit 5a76df6aeb692c271753ae46541e074664297c63
10 changes: 7 additions & 3 deletions Models/Instruments/MCDU/MCDU.nas
Original file line number Diff line number Diff line change
@@ -90,7 +90,7 @@ var state2 = props.globals.getNode("/engines/engine[1]/state", 1);
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
# TO PERF
var clbReducFt = props.globals.getNode("/fdm/jsbsim/fadec/clbreduc-ft", 1);
var accelAltFt = props.globals.getNode("/FMGC/internal/accel-agl-ft", 1); # It's not AGL anymore
var accelAltFt = props.globals.getNode("/FMGC/internal/accel-agl-ft", 1);
var thrAccSet = props.globals.getNode("/MCDUC/thracc-set", 1);
var accSetManual = props.globals.getNode("/MCDUC/acc-set-manual", 1);
var thrRedSetManual = props.globals.getNode("/MCDUC/thrRed-set-manual", 1);
@@ -111,6 +111,10 @@ var final = props.globals.getNode("/FMGC/internal/final", 1);
var radio = props.globals.getNode("/FMGC/internal/radio", 1);
var baro = props.globals.getNode("/FMGC/internal/baro", 1);
# GA PERF
var ga_clbReducFt = props.globals.getNode("/fdm/jsbsim/fadec/ga-clbreduc-ft", 1); # differs from TO clbRedcFt
var ga_accelAltFt = props.globals.getNode("/FMGC/internal/ga-accel-agl-ft", 1); # differs from TO accelAltFt
var ga_accSetManual = props.globals.getNode("/MCDUC/ga-acc-set-manual", 1);
var ga_thrRedSetManual = props.globals.getNode("/MCDUC/ga-thrRed-set-manual", 1);
# AOC - SENSORS
var gear0_wow = props.globals.getNode("/gear/gear[0]/wow", 1);
var doorL1_pos = props.globals.getNode("/sim/model/door-positions/doorl1/position-norm", 1); #FWD door
@@ -5129,7 +5133,7 @@ var canvas_MCDU_base = {
me["Simple_Title"].setColor(WHITE);
}

if (thrAccSet.getValue() == 1) {
if (ga_thrRedSetManual.getValue() == 1) {
me["Simple_L5"].setFontSize(normal);
} else {
me["Simple_L5"].setFontSize(small);
@@ -5140,7 +5144,7 @@ var canvas_MCDU_base = {
me["Simple_R5"].setFontSize(small);
}

me["Simple_L5"].setText(sprintf("%3.0f", clbReducFt.getValue()) ~ sprintf("/%3.0f", accelAltFt.getValue()));
me["Simple_L5"].setText(sprintf("%3.0f", ga_clbReducFt.getValue()) ~ sprintf("/%3.0f", ga_accelAltFt.getValue()));
me["Simple_L6"].setText(" PHASE");
me["Simple_L5S"].setText("THR RED/ACC");
me["Simple_L6S"].setText(" PREV");
2 changes: 2 additions & 0 deletions Models/Liveries/PW-NEO/DLH.xml
Original file line number Diff line number Diff line change
@@ -21,6 +21,8 @@
<perf-factor>+0.0</perf-factor>
<default-thrRed-agl type="int">1000</default-thrRed-agl>
<default-accel-agl type="int">1000</default-accel-agl>
<default-ga-thrRed-agl type="int">1000</default-ga-thrRed-agl>
<default-ga-accel-agl type="int">1000</default-ga-accel-agl>
</company-options>
<model-options>
<registration type="string">D-AINK</registration>
2 changes: 2 additions & 0 deletions Nasal/FMGC/FCU.nas
Original file line number Diff line number Diff line change
@@ -288,6 +288,8 @@ var FCUController = {
fmgc.Input.kts.setValue(me.iasTemp);
}
}
} else {
# speed preselection on FCU as speed is managed
}
}
},
6 changes: 6 additions & 0 deletions Nasal/FMGC/FMGC.nas
Original file line number Diff line number Diff line change
@@ -146,6 +146,12 @@ var FMGCInternal = {
ldgConfig3: 0,
ldgConfigFull: 0,

# PERF GA
gaAccelAlt: 0,
gaAccelAltSet: 0,
gaThrRedAlt: 0,
gaThrRedAltSet: 0,

# INIT A
altAirport: "",
altAirportSet: 0,
34 changes: 27 additions & 7 deletions Nasal/MCDU/INITA.nas
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@ var resetFlightplan = func(i) {
fmgc.FMGCInternal.arrApt = "";
fmgc.FMGCInternal.toFromSet = 0;
fmgc.FMGCInternal.depAptElev = 0;
fmgc.FMGCInternal.destAptElev = 0;
fmgc.FMGCNodes.toFromSet.setValue(0);
fmgc.windController.resetDesWinds();

@@ -20,6 +21,11 @@ var resetFlightplan = func(i) {
setprop("MCDUC/acc-set-manual", 0);
setprop("MCDUC/thrRed-set-manual", 0);

setprop("/FMGC/internal/ga-accel-agl-ft", 1500);
setprop("/fdm/jsbsim/fadec/ga-clbreduc-ft", 1500);
setprop("MCDUC/ga-acc-set-manual", 0);
setprop("MCDUC/ga-thrRed-set-manual", 0);

setprop("/FMGC/internal/align-ref-lat", 0);
setprop("/FMGC/internal/align-ref-long", 0);
setprop("/FMGC/internal/align-ref-lat-edit", 0);
@@ -276,24 +282,38 @@ var initInputA = func(key, i) {
fmgc.FMGCNodes.toFromSet.setValue(1);
mcdu_scratchpad.scratchpads[i].empty();
fmgc.FMGCInternal.depAptElev = math.round(airportinfo(fromto[0]).elevation * M2FT, 10);

if (getprop("/options/company-options/default-accel-agl")) {
fmgc.FMGCInternal.AccelAlt = getprop("/options/company-options/default-accel-agl") + fmgc.FMGCInternal.depAptElev;
} else {
fmgc.FMGCInternal.AccelAlt = 400 + fmgc.FMGCInternal.depAptElev; # todo: minimum accel agl if no company option
}
fmgc.FMGCInternal.destAptElev = math.round(airportinfo(fromto[1]).elevation * M2FT, 10);

if (getprop("/options/company-options/default-thrRed-agl")) {
fmgc.FMGCInternal.thrRedAlt = getprop("/options/company-options/default-thrRed-agl") + fmgc.FMGCInternal.depAptElev;
fmgc.FMGCInternal.gaThrRedAlt = getprop("/options/company-options/default-ga-thrRed-agl") + fmgc.FMGCInternal.destAptElev;
} else {
fmgc.FMGCInternal.thrRedAlt = 400 + fmgc.FMGCInternal.depAptElev; # todo: minimum thrRed agl if no company option
fmgc.FMGCInternal.gaThrRedAlt = 1500 + fmgc.FMGCInternal.destAptElev; # as per FCOM 12-22_20-50-10-MCDU - Page Description - FMS2 Thales - PERF Page
}
setprop("/FMGC/internal/accel-agl-ft", fmgc.FMGCInternal.AccelAlt);

if (getprop("/options/company-options/default-accel-agl")) {
fmgc.FMGCInternal.accelAlt = getprop("/options/company-options/default-accel-agl") + fmgc.FMGCInternal.depAptElev;
fmgc.FMGCInternal.gaAccelAlt = getprop("/options/company-options/default-ga-accel-agl") + fmgc.FMGCInternal.destAptElev;
if (fmgc.FMGCInternal.gaAccelAlt < fmgc.FMGCInternal.gaThrRedAlt){
fmgc.FMGCInternal.gaThrRedAlt = fmgc.FMGCInternal.gaAccelAlt;
}
} else {
fmgc.FMGCInternal.accelAlt = 400 + fmgc.FMGCInternal.depAptElev; # todo: minimum accel agl if no company option
fmgc.FMGCInternal.gaAccelAlt = 1500 + fmgc.FMGCInternal.destAptElev; # as per FCOM 12-22_20-50-10-MCDU - Page Description - FMS2 Thales - PERF Page
}

setprop("/FMGC/internal/accel-agl-ft", fmgc.FMGCInternal.accelAlt);
setprop("/fdm/jsbsim/fadec/clbreduc-ft", fmgc.FMGCInternal.thrRedAlt);
setprop("MCDUC/thracc-set", 0);
setprop("MCDUC/acc-set-manual", 0);
setprop("MCDUC/thrRed-set-manual", 0);

setprop("/FMGC/internal/ga-accel-agl-ft", fmgc.FMGCInternal.gaAccelAlt);
setprop("/fdm/jsbsim/fadec/ga-clbreduc-ft", fmgc.FMGCInternal.gaThrRedAlt);
setprop("MCDUC/ga-acc-set-manual", 0);
setprop("MCDUC/ga-thrRed-set-manual", 0);

fmgc.flightPlanController.updateAirports(fromto[0], fromto[1], 2);
fmgc.FMGCInternal.altSelected = 0;
fmgc.updateARPT();
9 changes: 8 additions & 1 deletion Nasal/MCDU/MCDU.nas
Original file line number Diff line number Diff line change
@@ -154,7 +154,10 @@ var MCDU_reset = func(i) {
fmgc.FMGCInternal.v2 = 0;
fmgc.FMGCInternal.v2set = 0;
setprop("/FMGC/internal/accel-agl-ft", 1500); #eventually set to 1500 above runway
setprop("/MCDUC/thracc-set", 0);
setprop("/fdm/jsbsim/fadec/clbreduc-ft", 1500);
setprop("MCDUC/thracc-set", 0);
setprop("MCDUC/acc-set-manual", 0);
setprop("MCDUC/thrRed-set-manual", 0);
fmgc.FMGCInternal.toFlap = 0;
fmgc.FMGCInternal.toThs = 0.0;
fmgc.FMGCInternal.toFlapThsSet = 0;
@@ -190,6 +193,10 @@ var MCDU_reset = func(i) {
fmgc.FMGCInternal.ldgConfigFull = 1;

# GA PERF
setprop("/fdm/jsbsim/fadec/ga-clbreduc-ft", 1500);
setprop("/FMGC/internal/ga-accel-agl-ft", 1500);
setprop("MCDUC/ga-acc-set-manual", 0);
setprop("MCDUC/ga-thracc-set", 0);
}

var setMode = func(will) {
6 changes: 4 additions & 2 deletions Nasal/MCDU/PERFGA.nas
Original file line number Diff line number Diff line change
@@ -9,6 +9,8 @@ var perfGAInput = func(key, i) {
setprop("/fdm/jsbsim/fadec/clbreduc-ft", 1500);
setprop("/FMGC/internal/accel-agl-ft", 1500);
setprop("MCDUC/thracc-set", 0);
setprop("MCDUC/ga-acc-set-manual", 0);
setprop("MCDUC/ga-thracc-set", 0);
mcdu_scratchpad.scratchpads[i].empty();
} else {
var tfs = size(scratchpad);
@@ -17,8 +19,8 @@ var perfGAInput = func(key, i) {
var thrred = size(thracc[0]);
var acc = size(thracc[1]);
if (int(thrred) != nil and int(acc) != nil and (thrred >= 3 and thrred <= 5) and (acc >= 3 and acc <= 5)) {
setprop("/fdm/jsbsim/fadec/clbreduc-ft", thracc[0]);
setprop("/FMGC/internal/accel-agl-ft", thracc[1]);
setprop("/fdm/jsbsim/fadec/ga-clbreduc-ft", thracc[0]);
setprop("/FMGC/internal/ga-accel-agl-ft", thracc[1]);
setprop("MCDUC/thracc-set", 1);
mcdu_scratchpad.scratchpads[i].empty();
} else {
6 changes: 4 additions & 2 deletions Nasal/MCDU/PERFTO.nas
Original file line number Diff line number Diff line change
@@ -153,13 +153,15 @@ var perfTOInput = func(key, i) {
if (getprop("/options/company-options/default-accel-agl")) {
fmgc.FMGCInternal.AccelAlt = getprop("/options/company-options/default-accel-agl") + fmgc.FMGCInternal.depAptElev;
} else {
fmgc.FMGCInternal.AccelAlt = 400 + fmgc.FMGCInternal.depAptElev; # todo: minimum accel agl if no company option
# to check: minimum value if no company option is 400 ft above dep aerodrome
fmgc.FMGCInternal.AccelAlt = 400 + fmgc.FMGCInternal.depAptElev;
}

if (getprop("/options/company-options/default-thrRed-agl")) {
fmgc.FMGCInternal.thrRedAlt = getprop("/options/company-options/default-thrRed-agl") + fmgc.FMGCInternal.depAptElev;
} else {
fmgc.FMGCInternal.thrRedAlt = 400 + fmgc.FMGCInternal.depAptElev; # todo: minimum thrRed agl if no company option
# to check: minimum value if no company option is 400 ft above dep aerodrome
fmgc.FMGCInternal.thrRedAlt = 400 + fmgc.FMGCInternal.depAptElev;
}
} else {
fmgc.FMGCInternal.AccelAlt = 1500; # todo: default accel if no depApt / probably doesn't exist?