Skip to content

Commit

Permalink
feat(eis): move trans alt/lvl to arinc bus
Browse files Browse the repository at this point in the history
FBW PR 8214
  • Loading branch information
Revyn112 committed Oct 21, 2023
1 parent 7a2ce7c commit b12d100
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ class FMCMainDisplay extends BaseAirliners {
this.arincMissedThrustReductionAltitude = FmArinc429OutputWord.empty("MISSED_THR_RED_ALT");
this.arincMissedAccelerationAltitude = FmArinc429OutputWord.empty("MISSED_ACC_ALT");
this.arincMissedEoAccelerationAltitude = FmArinc429OutputWord.empty("MISSED_EO_ACC_ALT");
this.arincTransitionAltitude = FmArinc429OutputWord.empty("TRANS_ALT");
this.arincTransitionLevel = FmArinc429OutputWord.empty("TRANS_LVL");
/** contains fm messages (not yet implemented) and nodh bit */
this.arincEisWord2 = FmArinc429OutputWord.empty("EIS_DISCRETE_WORD_2");

Expand All @@ -207,6 +209,8 @@ class FMCMainDisplay extends BaseAirliners {
this.arincMissedThrustReductionAltitude,
this.arincMissedAccelerationAltitude,
this.arincMissedEoAccelerationAltitude,
this.arincTransitionAltitude,
this.arincTransitionLevel,
this.arincEisWord2,
];
}
Expand Down Expand Up @@ -609,6 +613,7 @@ class FMCMainDisplay extends BaseAirliners {
this.toSpeedsChecks();
this.thrustReductionAccelerationChecks();
this.updateThrustReductionAcceleration();
this.updateTransitionAltitudeLevel();
this.updateMinimums();
this.updateIlsCourse();
}
Expand Down Expand Up @@ -2966,6 +2971,7 @@ class FMCMainDisplay extends BaseAirliners {
if (s === FMCMainDisplay.clrValue) {
// TODO when possible fetch default from database
this.flightPlanManager.setOriginTransitionAltitude();
this.updateTransitionAltitudeLevel();
return true;
}

Expand All @@ -2982,6 +2988,7 @@ class FMCMainDisplay extends BaseAirliners {
}

this.flightPlanManager.setOriginTransitionAltitude(value);
this.updateTransitionAltitudeLevel();
return true;
}

Expand Down Expand Up @@ -3242,6 +3249,22 @@ class FMCMainDisplay extends BaseAirliners {
);
}

updateTransitionAltitudeLevel() {
const originTransitionAltitude = this.flightPlanManager.originTransitionAltitude;
this.arincTransitionAltitude.setBnrValue(
originTransitionAltitude !== undefined ? originTransitionAltitude : 0,
originTransitionAltitude !== undefined ? Arinc429Word.SignStatusMatrix.NormalOperation : Arinc429Word.SignStatusMatrix.NoComputedData,
17, 131072, 0,
)

const destinationTansitionLevel = this.flightPlanManager.destinationTransitionLevel;
this.arincTransitionLevel.setBnrValue(
destinationTansitionLevel !== undefined ? destinationTansitionLevel : 0,
destinationTansitionLevel !== undefined ? Arinc429Word.SignStatusMatrix.NormalOperation : Arinc429Word.SignStatusMatrix.NoComputedData,
9, 512, 0,
)
}

//Needs PR Merge #3082
//TODO: with FADEC no longer needed
setPerfTOFlexTemp(s) {
Expand Down Expand Up @@ -3870,6 +3893,7 @@ class FMCMainDisplay extends BaseAirliners {
setPerfApprTransAlt(s) {
if (s === FMCMainDisplay.clrValue) {
this.flightPlanManager.setDestinationTransitionLevel();
this.updateTransitionAltitudeLevel();
return true;
}

Expand All @@ -3884,6 +3908,7 @@ class FMCMainDisplay extends BaseAirliners {
}

this.flightPlanManager.setDestinationTransitionLevel(Math.round(value / 100));
this.updateTransitionAltitudeLevel();
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ class FMCMainDisplay extends BaseAirliners {
this.arincMissedThrustReductionAltitude = FmArinc429OutputWord.empty("MISSED_THR_RED_ALT");
this.arincMissedAccelerationAltitude = FmArinc429OutputWord.empty("MISSED_ACC_ALT");
this.arincMissedEoAccelerationAltitude = FmArinc429OutputWord.empty("MISSED_EO_ACC_ALT");
this.arincTransitionAltitude = FmArinc429OutputWord.empty("TRANS_ALT");
this.arincTransitionLevel = FmArinc429OutputWord.empty("TRANS_LVL");
/** contains fm messages (not yet implemented) and nodh bit */
this.arincEisWord2 = FmArinc429OutputWord.empty("EIS_DISCRETE_WORD_2");

Expand All @@ -207,6 +209,8 @@ class FMCMainDisplay extends BaseAirliners {
this.arincMissedThrustReductionAltitude,
this.arincMissedAccelerationAltitude,
this.arincMissedEoAccelerationAltitude,
this.arincTransitionAltitude,
this.arincTransitionLevel,
this.arincEisWord2,
];
}
Expand Down Expand Up @@ -609,6 +613,7 @@ class FMCMainDisplay extends BaseAirliners {
this.toSpeedsChecks();
this.thrustReductionAccelerationChecks();
this.updateThrustReductionAcceleration();
this.updateTransitionAltitudeLevel();
this.updateMinimums();
this.updateIlsCourse();
}
Expand Down Expand Up @@ -2966,6 +2971,7 @@ class FMCMainDisplay extends BaseAirliners {
if (s === FMCMainDisplay.clrValue) {
// TODO when possible fetch default from database
this.flightPlanManager.setOriginTransitionAltitude();
this.updateTransitionAltitudeLevel();
return true;
}

Expand All @@ -2982,6 +2988,7 @@ class FMCMainDisplay extends BaseAirliners {
}

this.flightPlanManager.setOriginTransitionAltitude(value);
this.updateTransitionAltitudeLevel();
return true;
}

Expand Down Expand Up @@ -3242,6 +3249,22 @@ class FMCMainDisplay extends BaseAirliners {
);
}

updateTransitionAltitudeLevel() {
const originTransitionAltitude = this.flightPlanManager.originTransitionAltitude;
this.arincTransitionAltitude.setBnrValue(
originTransitionAltitude !== undefined ? originTransitionAltitude : 0,
originTransitionAltitude !== undefined ? Arinc429Word.SignStatusMatrix.NormalOperation : Arinc429Word.SignStatusMatrix.NoComputedData,
17, 131072, 0,
)

const destinationTansitionLevel = this.flightPlanManager.destinationTransitionLevel;
this.arincTransitionLevel.setBnrValue(
destinationTansitionLevel !== undefined ? destinationTansitionLevel : 0,
destinationTansitionLevel !== undefined ? Arinc429Word.SignStatusMatrix.NormalOperation : Arinc429Word.SignStatusMatrix.NoComputedData,
9, 512, 0,
)
}

//Needs PR Merge #3082
//TODO: with FADEC no longer needed
setPerfTOFlexTemp(s) {
Expand Down Expand Up @@ -3870,6 +3893,7 @@ class FMCMainDisplay extends BaseAirliners {
setPerfApprTransAlt(s) {
if (s === FMCMainDisplay.clrValue) {
this.flightPlanManager.setDestinationTransitionLevel();
this.updateTransitionAltitudeLevel();
return true;
}

Expand All @@ -3884,6 +3908,7 @@ class FMCMainDisplay extends BaseAirliners {
}

this.flightPlanManager.setDestinationTransitionLevel(Math.round(value / 100));
this.updateTransitionAltitudeLevel();
return true;
}

Expand Down

0 comments on commit b12d100

Please sign in to comment.