Skip to content

Commit 300af19

Browse files
committed
remove unused vars
1 parent afabfd2 commit 300af19

1 file changed

Lines changed: 62 additions & 168 deletions

File tree

fbw-a380x/src/systems/instruments/src/HUD/SpeedIndicator.tsx

Lines changed: 62 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,7 @@ class AirspeedIndicatorBase extends DisplayComponent<AirspeedIndicatorProps> {
4848

4949
private readonly vFeNextValue = Arinc429LocalVarConsumerSubject.create(this.sub.on('prim_v_fe_next'));
5050

51-
private flightPhase = -1;
52-
private declutterMode = 0;
53-
private crosswindMode = false;
54-
private bitMask = 0;
55-
private athMode = 0;
56-
private sDecelVis = Subject.create<String>('none');
57-
private sCrosswindModeOn = Subject.create<String>('');
58-
private sCrosswindModeOff = Subject.create<String>('');
5951
private groundSpeedRef = FSComponent.createRef<SVGGElement>();
60-
private lgRightCompressed = true;
6152

6253
private spdTape = '';
6354
private xWindSpdTape = '';
@@ -131,27 +122,6 @@ class AirspeedIndicatorBase extends DisplayComponent<AirspeedIndicatorProps> {
131122
this.xWindSpdTapeRef.instance.style.display = `${this.xWindSpdTape}`;
132123
});
133124

134-
sub
135-
.on('decMode')
136-
.whenChanged()
137-
.handle((value) => {
138-
this.declutterMode = value;
139-
this.setOutline();
140-
});
141-
sub
142-
.on('cWndMode')
143-
.whenChanged()
144-
.handle((value) => {
145-
this.crosswindMode = value;
146-
this.cwOffsetRef.instance.style.transform = `translate3d(0px, ${XWIND_TO_AIR_REF_OFFSET}px, 0px)`;
147-
});
148-
149-
sub
150-
.on('autoBrakeDecel')
151-
.whenChanged()
152-
.handle((value) => {
153-
value ? this.sDecelVis.set('block') : this.sDecelVis.set('none');
154-
});
155125
sub;
156126
this.vFeNextValue.sub((vfe) => {
157127
if (vfe.isNormalOperation()) {
@@ -204,13 +174,6 @@ class AirspeedIndicatorBase extends DisplayComponent<AirspeedIndicatorProps> {
204174
}
205175
this.setOutline();
206176
});
207-
208-
sub
209-
.on('realTime')
210-
.atFrequency(2)
211-
.handle(() => {
212-
//this.crosswindMode ? (DisplayRange = 20) : (DisplayRange = 42);
213-
});
214177
}
215178

216179
render(): VNode {
@@ -231,8 +194,7 @@ class AirspeedIndicatorBase extends DisplayComponent<AirspeedIndicatorProps> {
231194
{/* <path id="SpeedTapeOutlineRight" class="NormalStroke Green" d={this.pathSub} />
232195
<path id="SpeedTapeBelowForty" class="NormalStroke Green" d="m19.031 81 v43" /> */}
233196

234-
{/* <g id="CrosswindVerticalTape" transform="translate(0 -311)" */}
235-
<g id="CrosswindVerticalTape" ref={this.cwOffsetRef}>
197+
<g id="CrosswindVerticalTape" ref={this.cwOffsetRef} transform="translate(0 -192)">
236198
<VerticalTape
237199
tapeValue={this.speedSub}
238200
lowerLimit={30}
@@ -639,156 +601,95 @@ const getSpeedTapeOffsetAlwaysVisible = (currentSpeed: number, bugSpeed: number)
639601
};
640602

641603
export class AirspeedIndicatorOfftape extends DisplayComponent<{ bus: ArincEventBus }> {
642-
private readonly sub = this.props.bus.getSubscriber<PrimFeBusBaseEvents>();
643-
644-
private spdTape = '';
645-
private xWindSpdTape = '';
646-
private xWindSpdTapeRef = FSComponent.createRef<SVGGElement>();
647-
private spdTapeRef = FSComponent.createRef<SVGGElement>();
648-
649-
private flightPhase = -1;
650-
private declutterMode = 0;
651-
private crosswindMode = false;
652-
private bitMask = 0;
653-
private athMode = 0;
654-
private onPower = false;
655-
private finalGnd = false;
656-
private sCrosswindModeOn = Subject.create<String>('');
657-
private sCrosswindModeOff = Subject.create<String>('');
658-
private decelRef = FSComponent.createRef<SVGTextElement>();
659-
private decelXwndRef = FSComponent.createRef<SVGTextElement>();
660-
private spdLimFlagRef = FSComponent.createRef<SVGTextElement>();
661-
private spdLimFlagXwndRef = FSComponent.createRef<SVGTextElement>();
662-
private lowerRef = FSComponent.createRef<SVGGElement>();
663-
664-
private offTapeRef = FSComponent.createRef<SVGGElement>();
665-
private offTapeRefCw = FSComponent.createRef<SVGGElement>();
666-
667-
private offTapeFailedRef = FSComponent.createRef<SVGGElement>();
668-
669-
private onGround = true;
670-
671-
private leftMainGearCompressed = true;
672-
673-
private rightMainGearCompressed = true;
674-
675-
private cwSpdLinesRef = FSComponent.createRef<SVGGElement>();
604+
private readonly sub = this.props.bus.getSubscriber<PrimFeBusBaseEvents & HudElems & HUDSimvars & Arinc429Values>();
676605

677606
private readonly vMax = Arinc429LocalVarConsumerSubject.create(this.sub.on('prim_v_max'));
607+
private readonly spdTape = ConsumerSubject.create(this.sub.on('spdTape'), '');
608+
private readonly xWindSpdTape = ConsumerSubject.create(this.sub.on('xWindSpdTape'), '');
609+
private readonly autoBrakeDecel = ConsumerSubject.create(this.sub.on('autoBrakeDecel'), false);
610+
private readonly leftMainGearCompressed = ConsumerSubject.create(this.sub.on('leftMainGearCompressed'), false);
611+
private readonly rightMainGearCompressed = ConsumerSubject.create(this.sub.on('rightMainGearCompressed'), false);
612+
private readonly speed = Arinc429ConsumerSubject.create(this.sub.on('speedAr'));
678613

679614
private readonly spdLimFlagVisibility = this.vMax.map((vMax) => (vMax.isFailureWarning() ? 'block' : 'none'));
615+
private readonly spdTapeVis = this.spdTape.map((s) => (s == 'block' ? 'block' : 'none'));
616+
private readonly xWindSpdTapeVis = this.xWindSpdTape.map((s) => (s == 'block' ? 'block' : 'none'));
680617

681-
onAfterRender(node: VNode): void {
682-
super.onAfterRender(node);
683-
684-
const sub = this.props.bus.getSubscriber<HUDSimvars & Arinc429Values & HudElems>();
685-
686-
sub
687-
.on('spdTape')
688-
.whenChanged()
689-
.handle((v) => {
690-
this.spdTape = v;
691-
this.spdTapeRef.instance.style.display = `${this.spdTape}`;
692-
});
693-
sub
694-
.on('xWindSpdTape')
695-
.whenChanged()
696-
.handle((v) => {
697-
this.xWindSpdTape = v;
698-
this.xWindSpdTapeRef.instance.style.display = `${this.xWindSpdTape}`;
699-
});
618+
private readonly onGround = MappedSubject.create(
619+
([lmgc, rmgc]) => {
620+
return lmgc || rmgc;
621+
},
622+
this.leftMainGearCompressed,
623+
this.rightMainGearCompressed,
624+
);
700625

701-
sub
702-
.on('decMode')
703-
.whenChanged()
704-
.handle((value) => {
705-
this.declutterMode = value;
706-
});
707-
sub
708-
.on('cWndMode')
709-
.whenChanged()
710-
.handle((value) => {
711-
this.crosswindMode = value;
712-
this.cwSpdLinesRef.instance.style.transform = `translate3d(0px, ${-XWIND_FULL_OFFSET + XWIND_TO_AIR_REF_OFFSET}px, 0px)`;
713-
});
714-
sub
715-
.on('leftMainGearCompressed')
716-
.whenChanged()
717-
.handle((g) => {
718-
this.leftMainGearCompressed = g;
719-
this.onGround = this.rightMainGearCompressed || g;
720-
});
626+
private readonly decelVis = MappedSubject.create(([autoBrakeDecel]) => {
627+
return autoBrakeDecel ? 'block' : 'none';
628+
}, this.autoBrakeDecel);
721629

722-
sub
723-
.on('rightMainGearCompressed')
724-
.whenChanged()
725-
.handle((g) => {
726-
this.rightMainGearCompressed = g;
727-
this.onGround = this.leftMainGearCompressed || g;
728-
});
729-
730-
sub.on('speedAr').handle((speed) => {
630+
private readonly isFailed = MappedSubject.create(
631+
([onGround, speed]) => {
731632
let airspeedValue: number;
732-
if (speed.isFailureWarning() || (speed.isNoComputedData() && !this.onGround)) {
633+
if (speed.isFailureWarning() || (speed.isNoComputedData() && !onGround)) {
733634
airspeedValue = NaN;
734635
} else if (speed.isNoComputedData()) {
735636
airspeedValue = 30;
736637
} else {
737638
airspeedValue = speed.value;
738639
}
739640
if (Number.isNaN(airspeedValue)) {
740-
this.offTapeRefCw.instance.classList.add('HiddenElement');
741-
this.offTapeRef.instance.classList.add('HiddenElement');
742-
this.offTapeFailedRef.instance.classList.remove('HiddenElement');
641+
return true;
743642
} else {
744-
this.offTapeRefCw.instance.classList.remove('HiddenElement');
745-
this.offTapeRef.instance.classList.remove('HiddenElement');
746-
this.offTapeFailedRef.instance.classList.add('HiddenElement');
747-
748-
const clampedSpeed = Math.max(Math.min(airspeedValue, 660), 30);
749-
const showLower = clampedSpeed > 72;
750-
751-
if (showLower) {
752-
this.lowerRef.instance.setAttribute('visibility', 'visible');
753-
} else {
754-
this.lowerRef.instance.setAttribute('visibility', 'hidden');
755-
}
643+
return false;
756644
}
757-
});
645+
},
646+
this.onGround,
647+
this.speed,
648+
);
758649

759-
sub
760-
.on('autoBrakeDecel')
761-
.whenChanged()
762-
.handle((a) => {
763-
if (a) {
764-
this.decelRef.instance.style.visibility = 'visible';
765-
} else {
766-
this.decelRef.instance.style.visibility = 'hidden';
767-
}
768-
});
769-
}
650+
private readonly showLower = MappedSubject.create(([speed]) => {
651+
const clampedSpeed = Math.max(Math.min(speed.value, 660), 30);
652+
return clampedSpeed > 72 ? 'block' : 'none';
653+
}, this.speed);
770654

771655
render(): VNode {
772656
return (
773657
<>
774658
<g id="offTapeSpeedGroup">
775-
<g id="crosswind" class="cwTest" ref={this.xWindSpdTapeRef}>
776-
<g id="SpeedOfftapeGroup" transform=" translate(95 159)" ref={this.offTapeRefCw}>
777-
<g ref={this.cwSpdLinesRef}>
778-
<path id="SpeedTapeOutlineRight" class="NormalStroke Green" d="m87 -40 v 182"></path>
779-
<path id="SpeedTapeOutlineUpper" class="NormalStroke Green" d="m16 -40 h 98"></path>
780-
<path id="SpeedTapeOutlineLower" class="NormalStroke Green" d="m16 142 h 98"></path>
781-
<path class="Fill Green SmallOutline" d="m 62 49 v 4 h 28 l 15.614 5.745 v -15.119 l -15.614 5.745z" />
659+
<g id="crosswind" class="cwTest" display={this.xWindSpdTapeVis}>
660+
<g
661+
id="SpeedOfftapeGroup"
662+
transform=" translate(95 159)"
663+
display={this.isFailed.map((v) => {
664+
!v ? 'block' : 'none';
665+
})}
666+
>
667+
<g id="cwOfftapeFailedGroup">
668+
<path id="SpeedTapeOutlineRight" class="NormalStroke Green" d="m87 79 v 182"></path>
669+
<path id="SpeedTapeOutlineUpper" class="NormalStroke Green" d="m16 79 h 98"></path>
670+
<path id="SpeedTapeOutlineLower" class="NormalStroke Green" d="m16 261 h 98"></path>
671+
<path class="Fill Green SmallOutline" d="m 62 168 v 4 h 28 l 15.614 5.745 v -15.119 l -15.614 5.745z" />
782672
</g>
783673

784674
<SpeedTarget bus={this.props.bus} mode={WindMode.CrossWind} />
785675

786676
<CrosswindDigitalSpeedReadout bus={this.props.bus} />
787677
</g>
788678
</g>
789-
<g id="normal" ref={this.spdTapeRef}>
790-
<g id="SpeedOfftapeGroup" transform=" translate(95 159)" ref={this.offTapeRef}>
791-
<g id="OfftapeFailedGroup" ref={this.offTapeFailedRef}>
679+
<g id="normal" display={this.spdTapeVis}>
680+
<g
681+
id="SpeedOfftapeGroup"
682+
transform=" translate(95 159)"
683+
display={this.isFailed.map((v) => {
684+
!v ? 'block' : 'none';
685+
})}
686+
>
687+
<g
688+
id="OfftapeFailedGroup"
689+
display={this.isFailed.map((v) => {
690+
v ? 'block' : 'none';
691+
})}
692+
>
792693
<path id="SpeedTapeOutlineRight" class="NormalStroke Green" d="m87 170 v 383" />
793694
<path id="SpeedTapeOutlineUpper" class="NormalStroke Green" d="m16 170 h 98" />
794695
<path id="SpeedTapeOutlineLower" class="NormalStroke Green" d="m16 553 h 98" />
@@ -797,15 +698,15 @@ export class AirspeedIndicatorOfftape extends DisplayComponent<{ bus: ArincEvent
797698
<path id="SpeedTapeOutlineRight" class="NormalStroke Green" d="m87 170 v 383" />
798699
<path id="SpeedTapeOutlineUpper" class="NormalStroke Green" d="m16 170 h 98" />
799700
<SpeedTarget bus={this.props.bus} mode={WindMode.Normal} />
800-
<text id="AutoBrkDecel" ref={this.decelRef} class="FontMedium EndAlign Green" x="91.9425" y="578.565">
701+
<text id="AutoBrkDecel" display={this.decelVis} class="FontMedium EndAlign Green" x="91.9425" y="578.565">
801702
DECEL
802703
</text>
803704
<path
804705
class="Fill Green SmallOutline"
805706
d="m62.763 360.863v3.254h29.367l14.006 5.153v-13.562l-14.006 5.153z"
806707
/>
807708
<path class="Fill Green SmallOutline" d="m0.415 364.115v-3.254h9.035v3.254z" />
808-
<path id="SpeedTapeOutlineLower" ref={this.lowerRef} class="NormalStroke Green" d="m16 553 h 98" />
709+
<path id="SpeedTapeOutlineLower" display={this.showLower} class="NormalStroke Green" d="m16 553 h 98" />
809710
<text
810711
id="SpdLimFailTextUpper"
811712
x="143.7"
@@ -1761,17 +1662,10 @@ interface GroundSpeedIndicatorData {
17611662
}
17621663

17631664
class GroundSpeedIndicator extends DisplayComponent<{ bus: EventBus }> {
1764-
private flightPhase = -1;
1765-
private declutterMode = 0;
1766-
private sVisibility = Subject.create('none');
17671665
private readonly groundSpeedRef = FSComponent.createRef<SVGTextElement>();
17681666

1769-
private readonly trueAirSpeedRef = FSComponent.createRef<SVGTextElement>();
1770-
17711667
private readonly groundSpeedRegister = Arinc429RegisterSubject.createEmpty();
17721668

1773-
private readonly trueAirSpeedRegister = Arinc429RegisterSubject.createEmpty();
1774-
17751669
private readonly sub = this.props.bus.getSubscriber<HUDSimvars & HudElems>();
17761670

17771671
private readonly data: GroundSpeedIndicatorData = {

0 commit comments

Comments
 (0)