From 507b7ea6448ce8947050df787b587348f339be8d Mon Sep 17 00:00:00 2001 From: Unpaid Evangelist Date: Sat, 29 Mar 2025 17:20:11 -0500 Subject: [PATCH] Update to fix caution panel - Inlet Icing not working (missing) and force others on when test running. --- .../CautionPanelFlightDataAdapter.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/MFDExtractor/MFDExtractor/FlightDataAdapters/CautionPanelFlightDataAdapter.cs b/src/MFDExtractor/MFDExtractor/FlightDataAdapters/CautionPanelFlightDataAdapter.cs index dcd2d605..a94d1480 100644 --- a/src/MFDExtractor/MFDExtractor/FlightDataAdapters/CautionPanelFlightDataAdapter.cs +++ b/src/MFDExtractor/MFDExtractor/FlightDataAdapters/CautionPanelFlightDataAdapter.cs @@ -14,14 +14,14 @@ class CautionPanelFlightDataAdapter : ICautionPanelFlightDataAdapter { public void Adapt(ICautionPanel cautionPanel, FlightData flightData) { - //TODO: implement all-lights-on when test is detected cautionPanel.InstrumentState.AftFuelLow = ((flightData.lightBits2 &(int) LightBits2.AftFuelLow) ==(int) LightBits2.AftFuelLow); cautionPanel.InstrumentState.AntiSkid = ((flightData.lightBits2 &(int) LightBits2.ANTI_SKID) ==(int) LightBits2.ANTI_SKID); cautionPanel.InstrumentState.AvionicsFault = ((flightData.lightBits &(int) LightBits.Avionics) ==(int) LightBits.Avionics); cautionPanel.InstrumentState.BUC = ((flightData.lightBits2 &(int) LightBits2.BUC) ==(int) LightBits2.BUC); cautionPanel.InstrumentState.CabinPress = ((flightData.lightBits &(int) LightBits.CabinPress) ==(int) LightBits.CabinPress); cautionPanel.InstrumentState.CADC = ((flightData.lightBits3 &(int) LightBits3.cadc) ==(int) LightBits3.cadc); - cautionPanel.InstrumentState.ECM = ((flightData.lightBits &(int) LightBits.ECM) ==(int) LightBits.ECM); + cautionPanel.InstrumentState.InletIcing = ((flightData.lightBits3 & (int)LightBits3.Inlet_Icing) == (int)LightBits3.Inlet_Icing); + cautionPanel.InstrumentState.ECM = ((flightData.lightBits &(int) LightBits.ECM) ==(int) LightBits.ECM); cautionPanel.InstrumentState.ElecSys = ((flightData.lightBits3 &(int) LightBits3.Elec_Fault) ==(int) LightBits3.Elec_Fault); cautionPanel.InstrumentState.EngineFault = ((flightData.lightBits &(int) LightBits.EngineFault) ==(int) LightBits.EngineFault); cautionPanel.InstrumentState.EquipHot = ((flightData.lightBits &(int) LightBits.EQUIP_HOT) ==(int) LightBits.EQUIP_HOT); @@ -38,7 +38,18 @@ public void Adapt(ICautionPanel cautionPanel, FlightData flightData) cautionPanel.InstrumentState.SeatNotArmed = ((flightData.lightBits2 &(int) LightBits2.SEAT_ARM) ==(int) LightBits2.SEAT_ARM); cautionPanel.InstrumentState.SEC = ((flightData.lightBits2 &(int) LightBits2.SEC) ==(int) LightBits2.SEC); cautionPanel.InstrumentState.StoresConfig = ((flightData.lightBits &(int) LightBits.CONFIG) ==(int) LightBits.CONFIG); + + // Force these lights on if test is being run + cautionPanel.InstrumentState.Nuclear = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.ATFNotEngaged = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.EEC = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.Slot27 = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.Slot28 = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.Slot30 = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.Slot31 = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + cautionPanel.InstrumentState.Slot32 = ((flightData.lightBits & (uint)LightBits.AllLampBitsOn) == (uint)LightBits.AllLampBitsOn); + //TODO: implement MLU cautions - } - } + } + } }