Esempio n. 1
0
        private void fsiOnVarReceive(FSIID id)
        {
            double eng_l = fsi.SLI_AC_STBY_BUS_PHASE_1_VOLTAGE;
            double eng_r = fsi.SLI_AC_STBY_BUS_PHASE_2_VOLTAGE;

            updateProgressBars(eng_l, eng_r);
        }
 public static void fsiOnVarReceive(FSIID id)
 {
     if (id == FSIID.MBI_MIP_CM1_LIGHTS_TEST_SWITCH_DIM_POS || id == FSIID.MBI_MIP_CM1_LIGHTS_TEST_SWITCH_TEST_POS)
     {
         if (FSIcm.inst.MBI_MIP_CM1_LIGHTS_TEST_SWITCH_DIM_POS)
         {
             debug("MIP Lights Dim");
             setLightBrightness(false);
             setLightTest(false);
         }
         else if (FSIcm.inst.MBI_MIP_CM1_LIGHTS_TEST_SWITCH_TEST_POS)
         {
             debug("MIP Lights Test");
             setLightBrightness(true);
             setLightTest(true);
         }
         else
         {
             debug("MIP Lights Norm");
             setLightTest(false);
             setLightBrightness(true);
         }
         ProcessWrites();
     }
 }
        //set a light value
        public static void set(FSIID id, bool value)
        {
            if (!lightsList.ContainsKey(id))
            {
                String name = id.ToString("g") + "*";

                Type         type        = FSIcm.inst.GetType();
                MemberInfo[] memberInfos = type.GetMember(name);

                if (memberInfos.Length == 1)
                {
                    lightsList.Add(id, new LightControllerLight(memberInfos[0]));
                }
                else if (memberInfos.Length == 2)
                {
                    lightsList.Add(id, new LightControllerLight(memberInfos[0], memberInfos[1]));
                }
                else
                {
                    Console.WriteLine("ERROR: LightController: Too many Lights found for name: " + name);
                    return;
                }
            }

            //set the light value
            lightsList[id].set(value);
            lightsList[id].writeStatus(lights_power, lights_test, lights_brightness, ref FSIcm.inst);
        }
Esempio n. 4
0
        void fsiOnVarReceive(FSIID id)
        {
            if (id == FSIID.FSI_ENG1_THROTTLE_LEVER)
            {
                if (FSIcm.inst.FSI_ENG1_THROTTLE_LEVER < 0)
                {
                    LightController.set(FSIID.MBI_EEC_ENG_1_REVERSER_LIGHT, true);
                }
                else
                {
                    LightController.set(FSIID.MBI_EEC_ENG_1_REVERSER_LIGHT, false);
                }
                LightController.ProcessWrites();
            }

            if (id == FSIID.FSI_ENG2_THROTTLE_LEVER)
            {
                if (FSIcm.inst.FSI_ENG2_THROTTLE_LEVER < 0)
                {
                    LightController.set(FSIID.MBI_EEC_ENG_2_REVERSER_LIGHT, true);
                }
                else
                {
                    LightController.set(FSIID.MBI_EEC_ENG_2_REVERSER_LIGHT, false);
                }
                LightController.ProcessWrites();
            }
        }
Esempio n. 5
0
        void fsiOnVarReceive(FSIID id)
        {
            //WING
            if (id == FSIID.MBI_ANTI_ICE_WING_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_WING_ANTI_ICE_SWITCH == false)
            {
                debug("ANTI_ICE Wing On");

                LightController.set(FSIID.MBI_ANTI_ICE_WING_L_VALVE_OPEN_LIGHT, true);
                LightController.set(FSIID.MBI_ANTI_ICE_WING_R_VALVE_OPEN_LIGHT, true);
                LightController.ProcessWrites();
            }
            if (id == FSIID.MBI_ANTI_ICE_WING_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_WING_ANTI_ICE_SWITCH == true)
            {
                debug("ANTI_ICE Wing Off");

                LightController.set(FSIID.MBI_ANTI_ICE_WING_L_VALVE_OPEN_LIGHT, false);
                LightController.set(FSIID.MBI_ANTI_ICE_WING_R_VALVE_OPEN_LIGHT, false);
                LightController.ProcessWrites();
            }


            //ENG 1
            if (id == FSIID.MBI_ANTI_ICE_ENG_1_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_ENG_1_ANTI_ICE_SWITCH == false)
            {
                debug("ANTI_ICE ENG 1 On");

                LightController.set(FSIID.MBI_ANTI_ICE_ENG_1_COWL_VALVE_OPEN_LIGHT, true);
                LightController.ProcessWrites();
            }
            if (id == FSIID.MBI_ANTI_ICE_ENG_1_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_ENG_1_ANTI_ICE_SWITCH == true)
            {
                debug("ANTI_ICE ENG 1 Off");

                LightController.set(FSIID.MBI_ANTI_ICE_ENG_1_COWL_VALVE_OPEN_LIGHT, false);
                LightController.ProcessWrites();
            }


            //ENG 2
            if (id == FSIID.MBI_ANTI_ICE_ENG_2_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_ENG_2_ANTI_ICE_SWITCH == false)
            {
                debug("ANTI_ICE ENG 2 On");

                LightController.set(FSIID.MBI_ANTI_ICE_ENG_2_COWL_VALVE_OPEN_LIGHT, true);
                LightController.ProcessWrites();
            }
            if (id == FSIID.MBI_ANTI_ICE_ENG_2_ANTI_ICE_SWITCH && FSIcm.inst.MBI_ANTI_ICE_ENG_2_ANTI_ICE_SWITCH == true)
            {
                debug("ANTI_ICE ENG 2 Off");

                LightController.set(FSIID.MBI_ANTI_ICE_ENG_2_COWL_VALVE_OPEN_LIGHT, false);
                LightController.ProcessWrites();
            }
        }
Esempio n. 6
0
        void fsiOnVarReceive(FSIID id)
        {
            if (id == FSIID.MBI_LED_TEST_SWITCH)
            {
                if (FSIcm.inst.MBI_LED_TEST_SWITCH)
                {
                    debug("LED Test On");
                }
                else
                {
                    debug("LED Test off");
                }

                //LED Test Lights
                LightController.set(FSIID.MBI_LED_FLAPS_1_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_1_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_2_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_2_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_3_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_3_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_4_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_FLAPS_4_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_1_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_1_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_1_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_2_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_2_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_2_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_3_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_3_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_3_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_4_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_4_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_4_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_5_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_5_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_5_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_6_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_6_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_6_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_7_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_7_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_7_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_8_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_8_FULL_EXT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.set(FSIID.MBI_LED_SLATS_8_TRANSIT_LIGHT, FSIcm.inst.MBI_LED_TEST_SWITCH);
                LightController.ProcessWrites();
            }
        }
Esempio n. 7
0
        void fsiOnVarReceive(FSIID id)
        {
            if (id == FSIID.MBI_OXYGEN_PASS_OXY_SWITCH)
            {
                if (FSIcm.inst.MBI_OXYGEN_PASS_OXY_SWITCH == true)
                {
                    debug("OXY Pass ON");
                }
                else
                {
                    debug("OXY Pass NORM");
                }

                //ELT light
                LightController.set(FSIID.MBI_OXYGEN_PASS_OXY_LIGHT, FSIcm.inst.MBI_OXYGEN_PASS_OXY_SWITCH);
                LightController.ProcessWrites();
            }
        }
Esempio n. 8
0
 void fsiOnVarReceive(FSIID id)
 {
     //FLIGHT REC TEST
     if (id == FSIID.MBI_FLIGHT_REC_TEST_SWITCH)
     {
         if (!FSIcm.inst.MBI_FLIGHT_REC_TEST_SWITCH)
         {
             debug("FLIGHT REC TEST");
             LightController.set(FSIID.MBI_FLIGHT_REC_OFF_LIGHT, false);
         }
         else
         {
             debug("FLIGHT REC NORM");
             LightController.set(FSIID.MBI_FLIGHT_REC_OFF_LIGHT, true);
         }
         LightController.ProcessWrites();
     }
 }
Esempio n. 9
0
        void fsiOnVarReceive(FSIID id)
        {
            if (id == FSIID.MBI_ELT_ARM_SWITCH)
            {
                if (!FSIcm.inst.MBI_ELT_ARM_SWITCH)
                {
                    debug("ELT On");
                }
                else
                {
                    debug("ELT Arm");
                }


                //ELT light
                LightController.set(FSIID.MBI_ELT_ACTIVE_LIGHT, !FSIcm.inst.MBI_ELT_ARM_SWITCH);
                LightController.ProcessWrites();
            }
        }
Esempio n. 10
0
        void fsiOnVarReceive(FSIID id)
        {
            //CROSSFEED
            if (id == FSIID.MBI_FUEL_CROSSFEED_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_CROSSFEED_SWITCH)
                {
                    debug("FUEL Crossfeed On");
                }
                else
                {
                    debug("FUEL Crossfeed Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_CROSSFEED_VALVE_OPEN_LIGHT, FSIcm.inst.MBI_FUEL_CROSSFEED_SWITCH);
                LightController.ProcessWrites();
            }

            //FUEL CTR L
            if (id == FSIID.MBI_FUEL_CTR_LEFT_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_CTR_LEFT_PUMP_SWITCH)
                {
                    debug("FUEL CTR LEFT PUMP On");
                }
                else
                {
                    debug("FUEL CTR LEFT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_CTR_LEFT_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_CTR_LEFT_PUMP_SWITCH);
                LightController.ProcessWrites();
            }

            //FUEL CTR R
            if (id == FSIID.MBI_FUEL_CTR_RIGHT_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_CTR_RIGHT_PUMP_SWITCH)
                {
                    debug("FUEL CTR RIGHT PUMP On");
                }
                else
                {
                    debug("FUEL CTR RIGHT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_CTR_RIGHT_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_CTR_RIGHT_PUMP_SWITCH);
                LightController.ProcessWrites();
            }


            //FUEL AFT L
            if (id == FSIID.MBI_FUEL_LEFT_AFT_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_LEFT_AFT_PUMP_SWITCH)
                {
                    debug("FUEL AFT LEFT PUMP On");
                }
                else
                {
                    debug("FUEL AFT LEFT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_LEFT_AFT_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_LEFT_AFT_PUMP_SWITCH);
                LightController.ProcessWrites();
            }

            //FUEL AFT R
            if (id == FSIID.MBI_FUEL_RIGHT_AFT_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_RIGHT_AFT_PUMP_SWITCH)
                {
                    debug("FUEL AFT RIGHT PUMP On");
                }
                else
                {
                    debug("FUEL AFT RIGHT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_RIGHT_AFT_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_RIGHT_AFT_PUMP_SWITCH);
                LightController.ProcessWrites();
            }

            //FUEL FWD L
            if (id == FSIID.MBI_FUEL_LEFT_FWD_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_LEFT_FWD_PUMP_SWITCH)
                {
                    debug("FUEL FWD LEFT PUMP On");
                }
                else
                {
                    debug("FUEL FWD LEFT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_LEFT_FWD_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_LEFT_FWD_PUMP_SWITCH);
                LightController.ProcessWrites();
            }

            //FUEL FWD R
            if (id == FSIID.MBI_FUEL_RIGHT_FWD_PUMP_SWITCH)
            {
                if (FSIcm.inst.MBI_FUEL_RIGHT_FWD_PUMP_SWITCH)
                {
                    debug("FUEL FWD RIGHT PUMP On");
                }
                else
                {
                    debug("FUEL FWD RIGHT PUMP Off");
                }

                //ELT light
                LightController.set(FSIID.MBI_FUEL_RIGHT_FWD_PUMP_LOW_PRESSURE_LIGHT, !FSIcm.inst.MBI_FUEL_RIGHT_FWD_PUMP_SWITCH);
                LightController.ProcessWrites();
            }
        }
Esempio n. 11
0
        void fsiOnVarReceive(FSIID id)
        {
            //LEFT IRS KNOB or Power
            if (id == FSIID.MBI_IRS_CONTROL_L_MODE_SWITCH_OFF_POS ||
                id == FSIID.MBI_IRS_CONTROL_L_MODE_SWITCH_ALIGN_POS ||
                id == FSIID.MBI_IRS_CONTROL_L_MODE_SWITCH_NAV_POS ||
                id == FSIID.MBI_IRS_CONTROL_L_MODE_SWITCH_ATT_POS ||
                id == FSIID.SLI_BAT_BUS_VOLTAGE)
            {
                //switch to off if
                if (FSIcm.inst.MBI_IRS_CONTROL_L_MODE_SWITCH_OFF_POS || FSIcm.inst.SLI_BAT_BUS_VOLTAGE <= 12)
                {
                    debug("IRS L OFF");

                    irs_l.setPowerStatus(false);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_L_MODE_SWITCH_ALIGN_POS)
                {
                    debug("IRS L ALIGN");

                    irs_l.setPowerStatus(true);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_L_MODE_SWITCH_NAV_POS)
                {
                    debug("IRS L NAV");

                    irs_l.setPowerStatus(true);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_L_MODE_SWITCH_ATT_POS)
                {
                    debug("IRS L ATT");

                    irs_l.setPowerStatus(true);
                    sim_irs();
                }
            }


            //RIGHT IRS KNOB
            if (id == FSIID.MBI_IRS_CONTROL_R_MODE_SWITCH_OFF_POS ||
                id == FSIID.MBI_IRS_CONTROL_R_MODE_SWITCH_ALIGN_POS ||
                id == FSIID.MBI_IRS_CONTROL_R_MODE_SWITCH_NAV_POS ||
                id == FSIID.MBI_IRS_CONTROL_R_MODE_SWITCH_ATT_POS ||
                id == FSIID.SLI_BAT_BUS_VOLTAGE)
            {
                if (FSIcm.inst.MBI_IRS_CONTROL_R_MODE_SWITCH_OFF_POS || FSIcm.inst.SLI_BAT_BUS_VOLTAGE <= 12)
                {
                    debug("IRS R OFF");

                    irs_r.setPowerStatus(false);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_R_MODE_SWITCH_ALIGN_POS)
                {
                    debug("IRS R ALIGN");

                    irs_r.setPowerStatus(true);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_R_MODE_SWITCH_NAV_POS)
                {
                    debug("IRS R NAV");

                    irs_r.setPowerStatus(true);
                    sim_irs();
                }
                else if (FSIcm.inst.MBI_IRS_CONTROL_R_MODE_SWITCH_ATT_POS)
                {
                    debug("IRS R ATT");

                    irs_r.setPowerStatus(true);
                    sim_irs();
                }
            }


            //AC Powersources
            if (id == FSIID.SLI_AC_XFR_BUS_2_PHASE_1_VOLTAGE)
            {
                //no voltage on XFR BUS 2
                if (FSIcm.inst.SLI_AC_XFR_BUS_2_PHASE_1_VOLTAGE <= 50)
                {
                    irs_r.setACAvailable(false);
                }
                else
                {
                    irs_r.setACAvailable(true);
                }
                sim_irs();
            }

            //läuft eigentlich über stby bus
            if (id == FSIID.SLI_AC_STBY_BUS_PHASE_1_VOLTAGE)
            {
                if (FSIcm.inst.SLI_AC_STBY_BUS_PHASE_1_VOLTAGE <= 50)
                {
                    irs_l.setACAvailable(false);
                }
                else
                {
                    irs_l.setACAvailable(true);
                }
                sim_irs();
            }
        }
Esempio n. 12
0
 private void fsiOnVarReceive(FSIID id)
 {
 }
Esempio n. 13
0
        void fsiOnVarReceive(FSIID id)
        {
            //OVERHEAT TEST ON
            if (id == FSIID.MBI_HEAT_OVHT_TEST_SWITCH && FSIcm.inst.MBI_HEAT_OVHT_TEST_SWITCH == true)
            {
                debug("HEAT OVHT TEST On");

                //OVHT tst lights
                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_FWD_OVERHEAT_LIGHT, true);
                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_SIDE_OVERHEAT_LIGHT, true);
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_FWD_OVERHEAT_LIGHT, true);
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_SIDE_OVERHEAT_LIGHT, true);
                LightController.ProcessWrites();
            }

            //OVERHEAT TEST OFF
            if (id == FSIID.MBI_HEAT_OVHT_TEST_SWITCH && FSIcm.inst.MBI_HEAT_OVHT_TEST_SWITCH == false)
            {
                debug("HEAT OVHT TEST Off");

                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_FWD_OVERHEAT_LIGHT, false);
                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_SIDE_OVERHEAT_LIGHT, false);
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_FWD_OVERHEAT_LIGHT, false);
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_SIDE_OVERHEAT_LIGHT, false);
                LightController.ProcessWrites();
            }

            //WND LEFT FWD
            if (id == FSIID.MBI_HEAT_WINDOW_LEFT_FWD_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_WINDOW_LEFT_FWD_SWITCH)
                {
                    debug("HEAT WND L FWD On");
                }
                else
                {
                    debug("HEAT WND L FWD Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_FWD_ON_LIGHT, FSIcm.inst.MBI_HEAT_WINDOW_LEFT_FWD_SWITCH);
                LightController.ProcessWrites();
            }


            //WND LEFT SIDE
            if (id == FSIID.MBI_HEAT_WINDOW_LEFT_SIDE_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_WINDOW_LEFT_SIDE_SWITCH)
                {
                    debug("HEAT WND L SIDE On");
                }
                else
                {
                    debug("HEAT WND L SIDE Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_WINDOW_LEFT_SIDE_ON_LIGHT, FSIcm.inst.MBI_HEAT_WINDOW_LEFT_SIDE_SWITCH);
                LightController.ProcessWrites();
            }

            //WND RIGHT FWD
            if (id == FSIID.MBI_HEAT_WINDOW_RIGHT_FWD_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_WINDOW_RIGHT_FWD_SWITCH)
                {
                    debug("HEAT WND R FWD On");
                }
                else
                {
                    debug("HEAT WND R FWD Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_FWD_ON_LIGHT, FSIcm.inst.MBI_HEAT_WINDOW_RIGHT_FWD_SWITCH);
                LightController.ProcessWrites();
            }


            //WND RIGHT SIDE
            if (id == FSIID.MBI_HEAT_WINDOW_RIGHT_SIDE_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_WINDOW_RIGHT_SIDE_SWITCH)
                {
                    debug("HEAT WND R SIDE On");
                }
                else
                {
                    debug("HEAT WND R SIDE Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_WINDOW_RIGHT_SIDE_ON_LIGHT, FSIcm.inst.MBI_HEAT_WINDOW_RIGHT_SIDE_SWITCH);
                LightController.ProcessWrites();
            }


            //Probes A
            if (id == FSIID.MBI_HEAT_PROBE_HEAT_A_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_PROBE_HEAT_A_SWITCH)
                {
                    debug("HEAT PROBE A On");
                }
                else
                {
                    debug("HEAT PROBE A Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_L_ALPHA_VANE_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_A_SWITCH);
                LightController.set(FSIID.MBI_HEAT_L_ELEV_PITOT_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_A_SWITCH);
                LightController.set(FSIID.MBI_HEAT_CAPT_PITOT_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_A_SWITCH);
                LightController.set(FSIID.MBI_HEAT_TEMP_PROBE_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_A_SWITCH);
                LightController.ProcessWrites();
            }

            //Probes B
            if (id == FSIID.MBI_HEAT_PROBE_HEAT_B_SWITCH)
            {
                if (FSIcm.inst.MBI_HEAT_PROBE_HEAT_B_SWITCH)
                {
                    debug("HEAT PROBE B On");
                }
                else
                {
                    debug("HEAT PROBE B Off");
                }

                //set lights
                LightController.set(FSIID.MBI_HEAT_R_ALPHA_VANE_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_B_SWITCH);
                LightController.set(FSIID.MBI_HEAT_R_ELEV_PITOT_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_B_SWITCH);
                LightController.set(FSIID.MBI_HEAT_FO_PITOT_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_B_SWITCH);
                LightController.set(FSIID.MBI_HEAT_AUX_PITOT_LIGHT, !FSIcm.inst.MBI_HEAT_PROBE_HEAT_B_SWITCH);
                LightController.ProcessWrites();
            }
        }
Esempio n. 14
0
        void fsiOnVarReceive(FSIID id)
        {
            //ELEC 1
            if (id == FSIID.MBI_HYDRAULICS_ELEC_1_SWITCH)
            {
                if (FSIcm.inst.MBI_HYDRAULICS_ELEC_1_SWITCH)
                {
                    debug("HYDRAULICS ELEC 1 On");
                }
                else
                {
                    debug("HYDRAULICS ELEC 1 Off");
                }
                sim_hydraulics();
            }

            //ELEC 2
            if (id == FSIID.MBI_HYDRAULICS_ELEC_2_SWITCH)
            {
                if (FSIcm.inst.MBI_HYDRAULICS_ELEC_2_SWITCH)
                {
                    debug("HYDRAULICS ELEC 2 On");
                }
                else
                {
                    debug("HYDRAULICS ELEC 2 Off");
                }
                sim_hydraulics();
            }


            //ENG 1
            if (id == FSIID.MBI_HYDRAULICS_ENG_1_SWITCH)
            {
                if (FSIcm.inst.MBI_HYDRAULICS_ENG_1_SWITCH == true)
                {
                    debug("HYDRAULICS ENG 1 On");
                }
                else
                {
                    debug("HYDRAULICS ENG 1 Off");
                }

                //ELT light
                sim_hydraulics();
            }

            //ENG 2
            if (id == FSIID.MBI_HYDRAULICS_ENG_2_SWITCH)
            {
                if (FSIcm.inst.MBI_HYDRAULICS_ENG_2_SWITCH)
                {
                    debug("HYDRAULICS ENG 2 On");
                }
                else
                {
                    debug("HYDRAULICS ENG 2 Off");
                }

                //ELT light
                sim_hydraulics();
            }


            //engine ready to load
            if (id == FSIID.SLI_GEN_1_RTL || id == FSIID.SLI_GEN_2_RTL || id == FSIID.SLI_AC_XFR_BUS_1_PHASE_1_VOLTAGE || id == FSIID.SLI_AC_XFR_BUS_2_PHASE_1_VOLTAGE)
            {
                sim_hydraulics();
            }
        }
Esempio n. 15
0
 static void fsiOnVarReceive(FSIID id)
 {
 }
Esempio n. 16
0
        void fsiOnVarReceive(FSIID id)
        {
            //EMER EXIT LIGHTS
            if (id == FSIID.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_SWITCH_OFF_POS)
            {
                if (FSIcm.inst.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_SWITCH_ON_POS)
                {
                    debug("EMER EXIT LIGHTS ON");
                    LightController.set(FSIID.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_NOT_ARMED_LIGHT, false);
                }
                else if (FSIcm.inst.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_SWITCH_OFF_POS)
                {
                    debug("EMER EXIT LIGHTS OFF");
                    LightController.set(FSIID.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_NOT_ARMED_LIGHT, true);
                }
                else
                {
                    debug("EMER EXIT LIGHTS ARM");
                    LightController.set(FSIID.MBI_LOWER_T_MIDDLE_EMER_EXIT_LIGHTS_NOT_ARMED_LIGHT, false);
                }

                LightController.ProcessWrites();
            }

            //GEAR LIGHTS
            if (id == FSIID.FSI_GEAR_ACTUAL_NOSE)
            {
                if (FSIcm.inst.FSI_GEAR_ACTUAL_NOSE >= 16383)
                {
                    LightController.set(FSIID.MBI_UPPER_T_NOSE_GEAR_LIGHT, true);
                }
                else
                {
                    LightController.set(FSIID.MBI_UPPER_T_NOSE_GEAR_LIGHT, false);
                }
                LightController.ProcessWrites();
            }
            if (id == FSIID.FSI_GEAR_ACTUAL_LEFT)
            {
                if (FSIcm.inst.FSI_GEAR_ACTUAL_LEFT >= 16383)
                {
                    LightController.set(FSIID.MBI_UPPER_T_LEFT_GEAR_LIGHT, true);
                }
                else
                {
                    LightController.set(FSIID.MBI_UPPER_T_LEFT_GEAR_LIGHT, false);
                }
                LightController.ProcessWrites();
            }
            if (id == FSIID.FSI_GEAR_ACTUAL_RIGHT)
            {
                if (FSIcm.inst.FSI_GEAR_ACTUAL_RIGHT >= 16383)
                {
                    LightController.set(FSIID.MBI_UPPER_T_RIGHT_GEAR_LIGHT, true);
                }
                else
                {
                    LightController.set(FSIID.MBI_UPPER_T_RIGHT_GEAR_LIGHT, false);
                }
                LightController.ProcessWrites();
            }



            //LIGHTS##################################
            //beacon / anti-collision
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_ANTI_COLLISION_SWITCH)
            {
                FSIcm.inst.FSI_LIGHTS_BEACON = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_ANTI_COLLISION_SWITCH;
                debug("LOWER_T Beacon " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_ANTI_COLLISION_SWITCH);
                FSIcm.inst.ProcessWrites();
            }

            //position / nav lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_POSITION_SWITCH_ON_POS)
            {
                FSIcm.inst.FSI_LIGHTS_NAV = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_POSITION_SWITCH_ON_POS;
                debug("LOWER_T Navlights " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_POSITION_SWITCH_ON_POS);
                FSIcm.inst.ProcessWrites();
            }

            //strobe lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_STROBE_SWITCH_ON_POS)
            {
                FSIcm.inst.FSI_LIGHTS_STROBE = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_STROBE_SWITCH_ON_POS;
                debug("LOWER_T Strobes " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_STROBE_SWITCH_ON_POS);
                FSIcm.inst.ProcessWrites();
            }

            //taxi lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_TAXI_SWITCH_AUTO_BRT_POS)
            {
                FSIcm.inst.FSI_LIGHTS_TAXI = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_TAXI_SWITCH_AUTO_BRT_POS;
                debug("LOWER_T Taxi " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_TAXI_SWITCH_AUTO_BRT_POS);
                FSIcm.inst.ProcessWrites();
            }

            //landing lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_LANDING_FIXED_LEFT_SWITCH)
            {
                FSIcm.inst.FSI_LIGHTS_LANDING = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_LANDING_FIXED_LEFT_SWITCH;
                debug("LOWER_T Landing " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_LANDING_FIXED_LEFT_SWITCH);
                FSIcm.inst.ProcessWrites();
            }

            //logo lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_LOGO_SWITCH)
            {
                FSIcm.inst.FSI_LIGHTS_LOGO = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_LOGO_SWITCH;
                debug("LOWER_T Logo " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_LOGO_SWITCH);
                FSIcm.inst.ProcessWrites();
            }

            //wing lights
            if (id == FSIID.MBI_LOWER_T_BOTTOM_LIGHTS_WING_SWITCH)
            {
                FSIcm.inst.FSI_LIGHTS_WING = FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_WING_SWITCH;
                debug("LOWER_T Wing " + FSIcm.inst.MBI_LOWER_T_BOTTOM_LIGHTS_WING_SWITCH);
                FSIcm.inst.ProcessWrites();
            }
        }
Esempio n. 17
0
        private void fsiOnVarReceive(FSIID id)
        {
            //GROUND POWER
            if (id == FSIID.IOS_GRD_PWR_CONNECTED)
            {
                if (FSIcm.inst.IOS_GRD_PWR_CONNECTED)
                {
                    debug("ELEC GND PWR Connected");
                    ext_pwr_l.Available();
                    ext_pwr_r.Available();
                }
                else
                {
                    debug("ELEC GND PWR Disconnected");
                    ext_pwr_l.Unavailable();
                    ext_pwr_r.Available();
                }

                //GND PWR available
                LightController.set(FSIID.MBI_ELEC_BUS_GRD_PWR_AVAILABLE_LIGHT, FSIcm.inst.IOS_GRD_PWR_CONNECTED);
                simElectrics();
            }

            //GROUND POWER SWITCH
            if (id == FSIID.MBI_ELEC_BUS_GRD_PWR_SWITCH)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_GRD_PWR_SWITCH)
                {
                    debug("ELEC GND PWR SWITCH On");
                    if (ext_pwr_l.SwitchOn())
                    {
                        ac_bus1.select(ext_pwr_l);
                    }
                    if (ext_pwr_r.SwitchOn())
                    {
                        ac_bus2.select(ext_pwr_r);
                    }
                }
                else
                {
                    debug("ELEC GND PWR SWITCH Off");
                    ext_pwr_l.SwitchOff();
                    ext_pwr_r.SwitchOff();
                }
                simElectrics();
            }

            //battery
            if (id == FSIID.MBI_ELEC_IND_BATTERY_SWITCH)
            {
                if (!FSIcm.inst.MBI_ELEC_IND_BATTERY_SWITCH)
                {
                    debug("ELEC DC Bat On");
                    battery_online = true;
                    simElectrics();
                }
                else
                {
                    debug("ELEC DC Bat Off");
                    battery_online = false;
                    simElectrics();
                }
            }

            //STBY Power
            if (id == FSIID.MBI_ELEC_STBY_STANDBY_POWER_SWITCH_AUTO_POS || id == FSIID.MBI_ELEC_STBY_STANDBY_POWER_SWITCH_BAT_POS)
            {
                if (FSIcm.inst.MBI_ELEC_STBY_STANDBY_POWER_SWITCH_AUTO_POS)
                {
                    debug("ELEC STBY PWR AUTO");
                    sby_pwr_auto = true;
                    sby_pwr_bat  = false;
                }
                else if (FSIcm.inst.MBI_ELEC_STBY_STANDBY_POWER_SWITCH_BAT_POS)
                {
                    debug("ELEC STBY PWR BAT");
                    sby_pwr_auto = false;
                    sby_pwr_bat  = true;
                }
                else
                {
                    debug("ELEC STBY PWR OFF");
                    sby_pwr_bat  = false;
                    sby_pwr_auto = false;
                }
                simElectrics();
            }

            //IDG_1
            if (id == FSIID.MBI_ELEC_STBY_GEN_1_DISCONNECT_SWITCH)
            {
                if (!FSIcm.inst.MBI_ELEC_STBY_GEN_1_DISCONNECT_SWITCH)
                {
                    debug("ELEC STBY Gen 1 Connected");
                }
                else
                {
                    debug("ELEC STBY Gen 1 Disconnected");
                    idg1.Disconnect();
                }
                simElectrics();
            }

            //IDG_2
            if (id == FSIID.MBI_ELEC_STBY_GEN_2_DISCONNECT_SWITCH)
            {
                if (!FSIcm.inst.MBI_ELEC_STBY_GEN_2_DISCONNECT_SWITCH)
                {
                    debug("ELEC STBY Gen 2 Connected");
                }
                else
                {
                    debug("ELEC STBY Gen 2 Disconnected");
                    idg2.Disconnect();
                }
                simElectrics();
            }

            //APU GEN 1
            if (id == FSIID.MBI_ELEC_BUS_APU_GEN_1_SWITCH_OFF_POS || id == FSIID.MBI_ELEC_BUS_APU_GEN_1_SWITCH_ON_POS)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_APU_GEN_1_SWITCH_OFF_POS)
                {
                    debug("ELEC APU GEN 1 Off");
                    apu_gen1.SwitchOff();
                }
                if (FSIcm.inst.MBI_ELEC_BUS_APU_GEN_1_SWITCH_ON_POS)
                {
                    debug("ELEC APU GEN 1 On");
                    if (apu_gen1.SwitchOn())
                    {
                        ac_bus1.select(apu_gen1);
                        ext_pwr_l.SwitchOff();
                        ext_pwr_r.SwitchOff();
                    }
                }
                simElectrics();
            }

            //APU GEN 2
            if (id == FSIID.MBI_ELEC_BUS_APU_GEN_2_SWITCH_OFF_POS || id == FSIID.MBI_ELEC_BUS_APU_GEN_2_SWITCH_ON_POS)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_APU_GEN_2_SWITCH_OFF_POS)
                {
                    debug("ELEC APU GEN 2 Off");
                    apu_gen2.SwitchOff();
                }
                if (FSIcm.inst.MBI_ELEC_BUS_APU_GEN_2_SWITCH_ON_POS)
                {
                    debug("ELEC APU GEN 2 On");
                    if (apu_gen2.SwitchOn())
                    {
                        ac_bus2.select(apu_gen2);
                        ext_pwr_l.SwitchOff();
                        ext_pwr_r.SwitchOff();
                    }
                }

                simElectrics();
            }

            //ENG 1 GEN
            if (id == FSIID.MBI_ELEC_BUS_GEN_1_SWITCH_OFF_POS || id == FSIID.MBI_ELEC_BUS_GEN_1_SWITCH_ON_POS)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_GEN_1_SWITCH_OFF_POS)
                {
                    debug("ELEC ENG GEN 1 Off");
                    eng1_gen.SwitchOff();
                }
                if (FSIcm.inst.MBI_ELEC_BUS_GEN_1_SWITCH_ON_POS)
                {
                    debug("ELEC ENG GEN 1 On");
                    if (eng1_gen.SwitchOn())
                    {
                        ac_bus1.select(eng1_gen);
                    }
                }
                simElectrics();
            }

            //ENG 2 GEN
            if (id == FSIID.MBI_ELEC_BUS_GEN_2_SWITCH_OFF_POS || id == FSIID.MBI_ELEC_BUS_GEN_2_SWITCH_ON_POS)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_GEN_2_SWITCH_OFF_POS)
                {
                    debug("ELEC ENG GEN 2 Off");
                    eng2_gen.SwitchOff();
                }
                if (FSIcm.inst.MBI_ELEC_BUS_GEN_2_SWITCH_ON_POS)
                {
                    debug("ELEC ENG GEN 2 On");
                    if (eng2_gen.SwitchOn())
                    {
                        ac_bus2.select(eng2_gen);
                    }
                }
                simElectrics();
            }

            //BUS TRANSFER
            if (id == FSIID.MBI_ELEC_BUS_BUS_TRANSFER_SWITCH)
            {
                if (FSIcm.inst.MBI_ELEC_BUS_BUS_TRANSFER_SWITCH)
                {
                    debug("ELEC BUS TRANSFER AUTO");
                    bustransfer_auto = true;
                }
                else
                {
                    debug("ELEC BUS TRANSFER OFF");
                    bustransfer_auto = false;
                }
                simElectrics();
            }


            //some changes in generator availability
            if (id == FSIID.SLI_APU_GEN_RTL)
            {
                if (FSIcm.inst.SLI_APU_GEN_RTL)
                {
                    debug("ELEC APU ready to load");
                    apu_gen1.Available();
                    apu_gen2.Available();
                }
                else
                {
                    debug("ELEC APU not ready to load");
                    apu_gen1.Unavailable();
                    apu_gen2.Unavailable();
                }
                simElectrics();
            }

            if (id == FSIID.SLI_GEN_1_RTL)
            {
                if (FSIcm.inst.SLI_GEN_1_RTL && idg1.isConnected)
                {
                    eng1_gen.Available();
                    debug("ELEC GEN 1 ready to load");
                }
                else
                {
                    eng1_gen.Unavailable();
                    debug("ELEC GEN 1 not ready to load");
                }
                simElectrics();
            }

            if (id == FSIID.SLI_GEN_2_RTL)
            {
                if (FSIcm.inst.SLI_GEN_2_RTL && idg2.isConnected)
                {
                    eng2_gen.Available();
                    debug("ELEC GEN 2 ready to load");
                }
                else
                {
                    eng2_gen.Unavailable();
                    debug("ELEC GEN 2 not ready to load");
                }
                simElectrics();
            }
        }