Beispiel #1
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            double dElectric_Draw = 10.0 * dW_to_EC;
            double elecAvail      = part.RequestResource("ElectricCharge", dElectric_Draw) / dElectric_Draw;
            bool   bPowered       = (elecAvail > 0.90);

            dIndicated_Deviation = -10.0;
            sStation_ID          = "---";

            if (bPowered)
            {
                cNav_Select = null;
                foreach (Part p in vessel.Parts)
                {
                    //string sMsg1 = "VI: " + p.name;
                    //print(sMsg1);
                    foreach (PartModule m in p.Modules)
                    {
                        //string sMsg2 = "VIm: " + m.name;
                        //print(sMsg2);
                        VHF_NAV_Receiver cNav = m as VHF_NAV_Receiver;
                        if (cNav != null)
                        {
                            cNav_Select = cNav;
                        }
                    }
                }
                if (cNav_Select != null)
                {
                    //string sMsg = "GLS indicator found receiver " + cNav_Select.moduleName;
                    //print(sMsg);
                    GLS cGLS = cNav_Select.getTunedGLS();
                    if (cGLS != null)
                    {
                        dIndicated_Deviation = cGLS.getOffset(cNav_Select.getPosition());
                        sStation_ID          = cGLS.sStation_ID;
                    }
                    else
                    {
                        sStation_ID = "---";
                    }
                }
                else
                {
                    sStation_ID = "---";
                }
            }
        }
Beispiel #2
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            double dElectric_Draw = 10.0 * dW_to_EC;
            double elecAvail      = part.RequestResource("ElectricCharge", dElectric_Draw) / dElectric_Draw;
            bool   bPowered       = (elecAvail > 0.90);

            dIndicated_Deviation = -10.0;
            sStation_ID          = "---";
            sTo_From             = "####";

            if (bPowered)
            {
                cNav_Select = null;
                foreach (Part p in vessel.Parts)
                {
                    //string sMsg1 = "VI: " + p.name;
                    //print(sMsg1);
                    foreach (PartModule m in p.Modules)
                    {
                        //string sMsg2 = "VIm: " + m.name;
                        //print(sMsg2);
                        VHF_NAV_Receiver cNav = m as VHF_NAV_Receiver;
                        if (cNav != null)
                        {
                            cNav_Select = cNav;
                        }
                    }
                }
                if (cNav_Select != null)
                {
                    //string sMsg = "VOR indicator found receiver " + cNav_Select.moduleName;
                    //print(sMsg);
                    VOR cVOR = cNav_Select.getTunedVOR();
                    if (cVOR != null)
                    {
                        bool bZOC = cVOR.inZoneOfConfusion(cNav_Select.getPosition());
                        if (!bZOC)
                        {
                            double dDeviation = (iOBS - cVOR.getBearingFrom(cNav_Select.getPosition())) % 360.0;
                            if (dDeviation > 180.0)
                            {
                                dDeviation -= 360.0;
                            }
                            while (dDeviation < -180.0)
                            {
                                dDeviation += 360.0;
                            }
                            bool bTo = dDeviation <-90.0 || dDeviation> 90.0;
                            if (bTo)
                            {
                                sTo_From = " TO ";
                                if (dDeviation < -90.0)
                                {
                                    dDeviation = -180.0 - dDeviation;
                                }
                                else
                                {
                                    dDeviation = 180.0 - dDeviation;
                                }
                            }
                            else
                            {
                                sTo_From = "FROM";
                            }

                            dIndicated_Deviation = dDeviation / 2.5;
                            sStation_ID          = cVOR.sStation_ID;
                        }
                    }
                }
            }
        }
Beispiel #3
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            double dElectric_Draw = 5.0 * dW_to_EC;
            double elecAvail      = part.RequestResource("ElectricCharge", dElectric_Draw) / dElectric_Draw;

            bPowered    = (elecAvail > 0.90);
            sStation_ID = "---";

            if (bPowered)
            {
                cNav_Select = null;
                foreach (Part p in vessel.Parts)
                {
                    //string sMsg1 = "VI: " + p.name;
                    //print(sMsg1);
                    foreach (PartModule m in p.Modules)
                    {
                        //string sMsg2 = "VIm: " + m.name;
                        //print(sMsg2);
                        VHF_NAV_Receiver cNav = m as VHF_NAV_Receiver;
                        if (cNav != null)
                        {
                            cNav_Select = cNav;
                        }
                    }
                }
                if (cNav_Select != null)
                {
                    //string sMsg = "DME indicator found receiver " + cNav_Select.moduleName;
                    //print(sMsg);
                    DME cDME = cNav_Select.getTunedDME();
                    if (cDME != null)
                    {
                        sStation_ID = cDME.sStation_ID;
                        if ((dLast_GS_Query_Time + 1.0) < Time.time)
                        {
                            dIndicated_Distance = cDME.getDistance(cNav_Select.getPosition());
                            if (bUnits_Mi)
                            {
                                dIndicated_Distance /= 1852.0; // convert to nm
                            }
                            else
                            {
                                dIndicated_Distance /= 1000.0; // convert to km
                            }
                            dIndicated_Groundspeed     = (dIndicated_Distance - dLast_Query_Distance) / (Time.time - dLast_GS_Query_Time) * 3600.0;
                            dIndicated_Time_To_Station = dIndicated_Distance / dIndicated_Groundspeed / 60.0;
                            dLast_Query_Distance       = dIndicated_Distance;
                            dLast_GS_Query_Time        = Time.time;
                        }
                    }
                    else
                    {
                        sStation_ID            = "---";
                        dIndicated_Distance    = -1;
                        dIndicated_Groundspeed = 0;
                        dLast_Query_Distance   = 0;
                        dLast_GS_Query_Time    = -1;
                    }
                }
                else
                {
                    sStation_ID            = "---";
                    dIndicated_Distance    = -1;
                    dIndicated_Groundspeed = 0;
                    dLast_Query_Distance   = 0;
                    dLast_GS_Query_Time    = -1;
                }
            }
        }
Beispiel #4
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            if (biAAE != vessel.isActiveAndEnabled)
            {
                biAAE = vessel.isActiveAndEnabled;
                string sMsg = "LOC vessel is Active and Enbled = " + biAAE;
                print(sMsg);
            }
            if (biAV != vessel.isActiveVessel)
            {
                biAV = vessel.isActiveVessel;
                string sMsg = "LOC vessel is Active Vessel = " + biAV;
                print(sMsg);
            }

            double dElectric_Draw = 10.0 * dW_to_EC;
            double elecAvail      = part.RequestResource("ElectricCharge", dElectric_Draw) / dElectric_Draw;
            bool   bPowered       = (elecAvail > 0.90);

            dIndicated_Deviation = -10.0;
            sStation_ID          = "---";

            if (bPowered)
            {
                cNav_Select = null;
                foreach (Part p in vessel.Parts)
                {
                    //string sMsg1 = "VI: " + p.name;
                    //print(sMsg1);
                    foreach (PartModule m in p.Modules)
                    {
                        //string sMsg2 = "VIm: " + m.name;
                        //print(sMsg2);
                        VHF_NAV_Receiver cNav = m as VHF_NAV_Receiver;
                        if (cNav != null)
                        {
                            cNav_Select = cNav;
                        }
                    }
                }
                if (cNav_Select != null)
                {
                    //string sMsg = "LOC indicator found receiver " + cNav_Select.moduleName;
                    //print(sMsg);
                    LOC cLOC = cNav_Select.getTunedLOC();
                    if (cLOC != null)
                    {
                        dIndicated_Deviation = cLOC.getOffset(cNav_Select.getPosition());
                        sStation_ID          = cLOC.sStation_ID;
                    }
                    else
                    {
                        sStation_ID = "---";
                    }
                }
                else
                {
                    sStation_ID = "---";
                }
            }
        }