Skip to content

Commit

Permalink
refactor: start removing old js SD
Browse files Browse the repository at this point in the history
  • Loading branch information
Saschl authored and Benjozork committed Dec 26, 2022
1 parent 8123613 commit 21687a3
Show file tree
Hide file tree
Showing 33 changed files with 461 additions and 283 deletions.
10 changes: 7 additions & 3 deletions flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,8 @@
<ANIM_NAME_BUTTON>PUSH_ECAM_#BASE_NAME#</ANIM_NAME_BUTTON>
<LED_NODE_ID>PUSH_ECAM_#BASE_NAME#_SEQ2</LED_NODE_ID>
<BACKLIGHT_NODE_ID>PUSH_ECAM_#BASE_NAME#_SEQ1</BACKLIGHT_NODE_ID>
<EVENT_NAME>A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_#BASE_NAME#</EVENT_NAME>
<!-- <EVENT_NAME>A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_#BASE_NAME#</EVENT_NAME> -->
<EVENT_NAME>A32NX_SD_PAGE_CHANGED</EVENT_NAME>
<CURRENT_BUTTON_VAR_NAME>A32NX_ECAM_SD_CURRENT_PAGE_INDEX</CURRENT_BUTTON_VAR_NAME>
<WWISE_EVENT_1>mcdubuttons</WWISE_EVENT_1>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
Expand All @@ -160,9 +161,12 @@
<UseTemplate Name="ASOBO_GT_Push_Button">
<ANIM_NAME>#ANIM_NAME_BUTTON#</ANIM_NAME>
<LEFT_SINGLE_CODE>
#GROUP_INDEX# -1 &gt; if{
(&gt;H:#EVENT_NAME#) #GROUP_INDEX#
(L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX) #GROUP_INDEX# != if{
#GROUP_INDEX# (&gt;L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX)
} els{
-1 (&gt;L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX)
}
(&gt;H:A32NX_SD_PAGE_CHANGED)
</LEFT_SINGLE_CODE>
</UseTemplate>
</Component>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ texture = $EWD
htmlgauge00 = A32NX/EWD/template.html?Index=1, 0,0,768,768

[VCockpit04]
size_mm = 1280,1280 #TODO FIXME - Should be 768,768
pixel_size = 1280,1280 #TODO FIXME - Should be 768,768
size_mm = 768,768 #TODO FIXME - Should be 768,768
pixel_size = 768,768 #TODO FIXME - Should be 768,768
texture = $EICAS2

htmlgauge00 = Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.html?Index=2, 0,0,1280,1280 #TODO FIXME - Should be 768,768
htmlgauge00 = A32NX/SD/template.html, 0,0,768,768 #TODO FIXME - Should be 768,768

[VCockpit05]
size_mm = 512,512
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ var Airliners;
this.SwitchToPageName(BaseEICAS.LOWER_SCREEN_GROUP_NAME, pageName);
for (let i = 0; i < this.lowerScreenPages.length; i++) {
if (this.lowerScreenPages[i].name == pageName) {
SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", i);
// SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", i);
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class A320_Neo_EICAS extends Airliners.BaseEICAS {
}
}
this.SwitchToPageName(this.LOWER_SCREEN_GROUP_NAME, pageName);
SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", this.currentPage);
//SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", this.currentPage);
}

createLowerScreenPages() {
Expand Down Expand Up @@ -234,7 +234,7 @@ class A320_Neo_EICAS extends Airliners.BaseEICAS {
// Disable user selected page when new failure detected
if (this.PrevFailPage !== sFailPage) {
this.currentPage = -1;
SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", -1);
//SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", -1);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ class EICASCommonDisplay extends Airliners.EICASTemplateElement {
const airDataReferenceSource = this.getStatusAirDataReferenceSource();
const inertialReferenceSource = this.getStatusInertialReferenceSource();
const sat = Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_STATIC_AIR_TEMPERATURE`);
this.refreshTAT(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_TOTAL_AIR_TEMPERATURE`));
/* this.refreshTAT(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_TOTAL_AIR_TEMPERATURE`));
this.refreshSAT(sat);
this.refreshISA(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA`), sat);
this.refreshISA(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA`), sat); */

this.refreshClock();
this.refreshLoadFactor(_deltaTime, Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_IR_${inertialReferenceSource}_BODY_NORMAL_ACC`));
Expand Down
4 changes: 2 additions & 2 deletions src/behavior/src/A32NX_Interior_Misc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -512,12 +512,12 @@
<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Push_Button">
<ANIM_NAME>#ANIM_NAME_BUTTON#</ANIM_NAME>
<LEFT_SINGLE_CODE>
<!-- <LEFT_SINGLE_CODE>
#GROUP_INDEX# -1 &gt; if{
(&gt;H:A32NX_SD_PAGE_CHANGED)
#GROUP_INDEX# (&gt;L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX)
}
</LEFT_SINGLE_CODE>
</LEFT_SINGLE_CODE> -->
</UseTemplate>
</Component>

Expand Down
51 changes: 51 additions & 0 deletions src/instruments/src/Common/NXUnits.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* Unit conversion utilities
*/

import { NXDataStore } from '@shared/persistence';

export class NXUnits {
private static metricWeightVal: boolean;

static get metricWeight() {
if (NXUnits.metricWeightVal === undefined) {
NXDataStore.getAndSubscribe('CONFIG_USING_METRIC_UNIT', (key, value) => {
NXUnits.metricWeightVal = value === '1';
}, '1');
}
return NXUnits.metricWeightVal;
}

static userToKg(value) {
return NXUnits.metricWeight ? value : value / 2.204625;
}

static kgToUser(value) {
return NXUnits.metricWeight ? value : value * 2.204625;
}

static poundsToUser(value) {
return NXUnits.metricWeight ? value / 2.204625 : value;
}

static userWeightUnit() {
return NXUnits.metricWeight ? 'KG' : 'LBS'; // EIS uses S suffix on LB
}

/**
* Converts meter into ft if imperial units are selected
* @param value {number} in unit Meters
* @returns {number} in metric or ft
*/
static mToUser(value) {
return NXUnits.metricWeight ? value : value * 3.28084;
}

/**
* Returns 'M' for meters and 'FT' for feet depending on the unit system selected
* @returns {string} 'M' (meter) OR 'FT' (feet)
*/
static userDistanceUnit() {
return NXUnits.metricWeight ? 'M' : 'FT';
}
}
8 changes: 4 additions & 4 deletions src/instruments/src/Common/defaults.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// We currently assume that these two elements will be found.
// Might be worth implementing checking in the future.

let reactMount = document.getElementById('MSFS_REACT_MOUNT') as HTMLElement;
const reactMount = document.getElementById('MSFS_REACT_MOUNT') as HTMLElement;

const getEcamPageRenderTarget = (pageName: string): HTMLElement => (document.getElementById(`A32NX_${pageName}_PAGE_REACT_MOUNT`) as HTMLElement);
// const getEcamPageRenderTarget = (pageName: string): HTMLElement => (document.getElementById(`A32NX_${pageName}_PAGE_REACT_MOUNT`) as HTMLElement);

/**
* Configures the framework to render inside the ECAM. Temporary solution for moving individual SD pages to React.
*/
export const setIsEcamPage = (pageName: string) => {
/* export const setIsEcamPage = (pageName: string) => {
reactMount = getEcamPageRenderTarget(pageName);
};
}; */

/**
* Returns the render target which React mounts onto
Expand Down
2 changes: 1 addition & 1 deletion src/instruments/src/SD/Common/definitions.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$font-size-small: 14px;
$font-size-small: 15px;
$font-size-medium: 16px;
$font-size-large: 17px;
$font-size-larger: 18px;
Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Apu/Apu.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { useEffect, useState } from 'react';
import { useArinc429Var } from '@instruments/common/arinc429';
import { render } from '@instruments/common/index';
import { setIsEcamPage } from '@instruments/common/defaults';
import { useSimVar } from '@instruments/common/simVars';
import { GaugeComponent, GaugeMarkerComponent } from '@instruments/common/gauges';
import { PageTitle } from '../../Common/PageTitle';
Expand All @@ -10,8 +9,6 @@ import { SvgGroup } from '../../Common/SvgGroup';

import './Apu.scss';

setIsEcamPage('apu_page');

export const ApuPage = () => {
const [apuAvail] = useSimVar('L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE', 'Bool', 1000);

Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Bleed/Bleed.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { FC } from 'react';
import { render } from '@instruments/common/index';
import { useSimVar } from '@instruments/common/simVars';
import { setIsEcamPage } from '@instruments/common/defaults';
import { PageTitle } from '../../Common/PageTitle';
import { EcamPage } from '../../Common/EcamPage';
import EngineBleed from './elements/EngineBleed';
Expand All @@ -11,8 +10,6 @@ import { Triangle } from '../../Common/Shapes';

import './Bleed.scss';

setIsEcamPage('bleed_page');

export const BleedPage: FC = () => {
const sdacDatum = true;
const [xbleedAirValveOpen] = useSimVar('L:A32NX_PNEU_XBLEED_VALVE_OPEN', 'bool', 500);
Expand Down
3 changes: 1 addition & 2 deletions src/instruments/src/SD/Pages/Cond/Cond.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import React from 'react';
import { SvgGroup } from '../../Common/SvgGroup';
import { render } from '../../../Common';
import { setIsEcamPage } from '../../../Common/defaults';
import { useSimVar } from '../../../Common/simVars';
import Valve from './Valve';

import '../../Common/CommonStyles.scss';

setIsEcamPage('cond_page');
// setIsEcamPage('cond_page');

export const CondPage = () => {
// Disaply trim valve position for each zone
Expand Down
3 changes: 1 addition & 2 deletions src/instruments/src/SD/Pages/Crz/Crz.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import React, { useEffect, useState } from 'react';
import { GaugeComponent, GaugeMarkerComponent, splitDecimals } from '@instruments/common/gauges';
import { render } from '../../../Common';
import { setIsEcamPage } from '../../../Common/defaults';
import { useSimVar } from '../../../Common/simVars';
import { usePersistentProperty } from '../../../Common/persistence';
import { fuelForDisplay } from '../../Common/FuelFunctions';

import './Crz.scss';

setIsEcamPage('crz_page');
// setIsEcamPage('crz_page');

export const CrzPage = () => (
<>
Expand Down
3 changes: 1 addition & 2 deletions src/instruments/src/SD/Pages/Door/Door.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import './Door.scss';
import React from 'react';
import { render } from '@instruments/common/index';
import { setIsEcamPage } from '../../../Common/defaults';
import { useSimVar } from '../../../Common/simVars';

setIsEcamPage('door_page');
// setIsEcamPage('door_page');

export const DoorPage = () => {
const [cabin] = useSimVar('INTERACTIVE POINT OPEN:0', 'percent', 1000);
Expand Down
2 changes: 1 addition & 1 deletion src/instruments/src/SD/Pages/Elec/Elec.scss
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

text {
fill: #EEEEEE;
font-family: 'Roboto Mono', monospace;
//font-family: 'Roboto Mono', monospace !important;
font-size: 19px;

&.ExtraLarge {
Expand Down
6 changes: 2 additions & 4 deletions src/instruments/src/SD/Pages/Elec/Elec.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import classNames from 'classnames';
import React from 'react';
import './Elec.scss';
import { render } from '@instruments/common/index';
import { PageTitle } from '../../Common/PageTitle';
import { setIsEcamPage } from '../../../Common/defaults';
import { useSimVar } from '../../../Common/simVars';
import { EcamPage } from '../../Common/EcamPage';
import { SvgGroup } from '../../Common/SvgGroup';

import './Elec.scss';

setIsEcamPage('elec_page');
// setIsEcamPage('elec_page');

const maxStaleness = 300;

Expand Down
2 changes: 1 addition & 1 deletion src/instruments/src/SD/Pages/Eng/Eng.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { SvgGroup } from '../../Common/SvgGroup';

import './Eng.scss';

setIsEcamPage('eng_page');
/* setIsEcamPage('eng_page'); */

export const EngPage: FC = () => {
const [weightUnit] = usePersistentProperty('CONFIG_USING_METRIC_UNIT', '1');
Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Fuel/Fuel.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { useEffect, useState } from 'react';
import { render } from '@instruments/common/index';
import { useSimVar } from '@instruments/common/simVars';
import { setIsEcamPage } from '@instruments/common/defaults';
import { useArinc429Var } from '@instruments/common/arinc429';
import { usePersistentProperty } from '../../../Common/persistence';
import { fuelForDisplay, fuelInTanksForDisplay } from '../../Common/FuelFunctions';
Expand All @@ -11,8 +10,6 @@ import { EcamPage } from '../../Common/EcamPage';

import './Fuel.scss';

setIsEcamPage('fuel_page');

export const FuelPage = () => {
const [crossFeedPosition] = useSimVar('FUELSYSTEM VALVE OPEN:3', 'number', 500);

Expand Down
2 changes: 1 addition & 1 deletion src/instruments/src/SD/Pages/Hyd/Hyd.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { Triangle } from '../../Common/Shapes';

import '../../Common/CommonStyles.scss';

setIsEcamPage('hyd_page');
/* setIsEcamPage('hyd_page'); */

const litersPerGallon = 3.79;

Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Press/Press.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { FC, useState, useEffect, memo } from 'react';
import { render } from '@instruments/common/index';
import { GaugeComponent, GaugeMarkerComponent, splitDecimals } from '@instruments/common/gauges';
import { setIsEcamPage } from '@instruments/common/defaults';
import { Triangle } from '../../Common/Shapes';
import { PageTitle } from '../../Common/PageTitle';
import { EcamPage } from '../../Common/EcamPage';
Expand All @@ -10,8 +9,6 @@ import { SvgGroup } from '../../Common/SvgGroup';

import './Press.scss';

setIsEcamPage('press_page');

export const PressPage: FC = () => {
const [cabinAlt] = useSimVar('L:A32NX_PRESS_CABIN_ALTITUDE', 'feet', 500);
const [deltaPsi] = useSimVar('L:A32NX_PRESS_CABIN_DELTA_PRESSURE', 'psi', 500);
Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Status/Status.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
import React, { FC } from 'react';
import { render } from '@instruments/common/index';
import { setIsEcamPage } from '@instruments/common/defaults';
import { PageTitle } from '../../Common/PageTitle';
import { EcamPage } from '../../Common/EcamPage';
import StatusDisplay from './elements/StatusDisplay';
import DownArrow from './elements/DownArrow';

import './Status.scss';

setIsEcamPage('status_page');

export const StatusPage: FC = () => (
<EcamPage name="main-status">
<PageTitle x={250} y={23} text="STATUS" />
Expand Down
3 changes: 0 additions & 3 deletions src/instruments/src/SD/Pages/Wheel/Wheel.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React from 'react';
import { render } from '@instruments/common/index';
import { useSimVar } from '@instruments/common/simVars';
import { setIsEcamPage } from '@instruments/common/defaults';
import { useArinc429Var } from '@instruments/common/arinc429';
import { Arinc429Word } from '@shared/arinc429';
import { HydraulicsProvider, useHydraulics } from '../../Common/HydraulicsProvider';
Expand All @@ -12,8 +11,6 @@ import { Spoilers } from '../../Common/Spoilers';

import '../../Common/CommonStyles.scss';

setIsEcamPage('wheel_page');

const maxStaleness = 300;

export const WheelPage = () => {
Expand Down
Loading

0 comments on commit 21687a3

Please sign in to comment.