public BaseConnectors(Program program, WicoBlockMaster wbm, WicoIGC wicoIGC, WicoElapsedTime wicoElapsedTime)
            {
                _program         = program;
                _wicoBlockMaster = wbm;
                _wicoIGC         = wicoIGC;
                _wicoElapsedTime = wicoElapsedTime;

                _program.moduleName += " Base Connectors";
                _program.moduleList += "\nBase Connectors V4.0";

                _program.AddUpdateHandler(UpdateHandler);
                _program.AddTriggerHandler(ProcessTrigger);
                _program.AddLoadHandler(LoadHandler);
                _program.AddSaveHandler(SaveHandler);
                _program.AddPostInitHandler(PostInitHandler);
//                _program.AddResetMotionHandler(ResetMotionHandler);

                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);
                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);

//                _program._CustomDataIni.Get(sBaseSection, "BaseTransmitWait").ToDouble(dBaseTransmitWait);
//                _program._CustomDataIni.Set(sBaseSection, "BaseTransmitWait", dBaseTransmitWait);

                _wicoIGC.AddPublicHandler("BASE?", BroadcastHandler);
                _wicoIGC.AddPublicHandler("CON?", BroadcastHandler);
                _wicoIGC.AddPublicHandler("COND?", BroadcastHandler);

                // wicoControl.AddModeInitHandler(ModeInitHandler);
                // wicoControl.AddControlChangeHandler(ModeChangeHandler);

                _wicoElapsedTime.AddTimer(_BaseTransmit, 55, BaseTransmitTimerHandler);
                _wicoElapsedTime.StartTimer(_BaseTransmit);
            }
Esempio n. 2
0
 public Sensors(Program program, WicoBlockMaster wicoBlockMaster)
 {
     _program         = program;
     _wicoBlockMaster = wicoBlockMaster;
     _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
     _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);
     _program.AddPostInitHandler(PostInitHandler());
 }
Esempio n. 3
0
            public Timers(Program program, WicoBlockMaster wbm)
            {
                thisProgram     = program;
                wicoBlockMaster = wbm;

                wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);
            }
Esempio n. 4
0
            public Drills(Program program, WicoBlockMaster wicoBlockMaster)
            {
                thisProgram     = program;
                WicoBlockMaster = wicoBlockMaster;

                WicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                WicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);
                thisProgram.AddPostInitHandler(PostInitHandler);
            }
Esempio n. 5
0
            public void ThrustersInit()
            {
                // TODO: change to handler. pay attention to execution sequence that results. (we may need this defined before getting blocks)
                sCutterThruster = _program._CustomDataIni.Get(sThrusterSection, "CutterThruster").ToString(sCutterThruster);
                _program._CustomDataIni.Set(sThrusterSection, "CutterThruster", sCutterThruster);

                // Minimal init; just add handlers
                thrustAllList.Clear();
                _wicoBlockMaster.AddLocalBlockHandler(ThrusterParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);
                _program.AddResetMotionHandler(ResetMotionHandler);
            }
Esempio n. 6
0
            public GasTanks(Program program, WicoBlockMaster wicoBlockMaster)
            {
                _program = program;
                wbm      = wicoBlockMaster;

                wbm.AddLocalBlockHandler(BlockParseHandler);
                wbm.AddLocalBlockChangedHandler(LocalGridChangedHandler);
                tankspcthigh = _program._CustomDataIni.Get(_tanksSection, "tankspcthigh").ToInt32(tankspcthigh);
                _program._CustomDataIni.Set(_tanksSection, "tankspcthigh", tankspcthigh);

                tankspctlow = _program._CustomDataIni.Get(_tanksSection, "tankspctlow").ToInt32(tankspctlow);
                _program._CustomDataIni.Set(_tanksSection, "tankspctlow", tankspctlow);
            }
Esempio n. 7
0
            public CargoCheck(Program program, WicoBlockMaster wbm)
            {
                _program         = program;
                _wicoBlockMaster = wbm;
                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);

                _program.AddLoadHandler(LoadHandler);
                _program.AddSaveHandler(SaveHandler);

                cargopctmin = _program._CustomDataIni.Get(sCargoSection, "cargopctmin").ToInt32(cargopctmin);
                _program._CustomDataIni.Set(sCargoSection, "cargopctmin", cargopctmin);
            }
Esempio n. 8
0
            public Displays(Program program, WicoBlockMaster wicoBlockMaster, WicoElapsedTime wicoElapsedTime)
            {
                _program         = program;
                _wicoBlockMaster = wicoBlockMaster;
                _wicoElapsedTime = wicoElapsedTime;

                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);

                _program.AddPostInitHandler(PostInitHandler());

                _wicoElapsedTime.AddTimer(DisplayCheckTimer, DisplayInterval, ElapsedTimerHandler);
                _wicoElapsedTime.StartTimer(DisplayCheckTimer);
            }
            public PowerProduction(Program program, WicoBlockMaster wbm)
            {
                _program         = program;
                _wicoBlockMaster = wbm;

                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);

                _program.AddLoadHandler(LoadHandler);
                _program.AddSaveHandler(SaveHandler);
                batterypcthigh = _program._CustomDataIni.Get(sPowerSection, "batterypcthigh").ToInt32(batterypcthigh);
                _program._CustomDataIni.Set(sPowerSection, "batterypcthigh", batterypcthigh);

                batterypctlow = _program._CustomDataIni.Get(sPowerSection, "batterypctlow").ToInt32(batterypctlow);
                _program._CustomDataIni.Set(sPowerSection, "batterypctlow", batterypctlow);
            }
Esempio n. 10
0
            public void GyrosInit()
            {
                CTRL_COEFF  = _program._CustomDataIni.Get(sGridSection, "CTRL_COEFF").ToDouble(CTRL_COEFF);
                LIMIT_GYROS = _program._CustomDataIni.Get(sGridSection, "LIMIT_GYROS").ToInt32(LIMIT_GYROS);

                _program._CustomDataIni.Set(sGridSection, "CTRL_COEFF", CTRL_COEFF);
                _program._CustomDataIni.Set(sGridSection, "LIMIT_GYROS", LIMIT_GYROS);

                // In case we had previous control info; reset it.
                allLocalGyros.Clear();
                foreach (var gyro in useGyros)
                {
                    gyro.GyroOverride = false;
                }
                useGyros.Clear();

                // Minimal init; just add handlers
                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);

                _program.AddResetMotionHandler(ResetMotionHandler);
            }
Esempio n. 11
0
            public CargoCheck(Program program, WicoBlockMaster wbm, Displays displays)
            {
                _program         = program;
                _wicoBlockMaster = wbm;
                _displays        = displays;

                _wicoBlockMaster.AddLocalBlockHandler(BlockParseHandler);
                _wicoBlockMaster.AddLocalBlockChangedHandler(LocalGridChangedHandler);

                _program.AddLoadHandler(LoadHandler);
                _program.AddSaveHandler(SaveHandler);

                cargopctmin = _program._CustomDataIni.Get(sCargoSection, "cargopctmin").ToInt32(cargopctmin);
                _program._CustomDataIni.Set(sCargoSection, "cargopctmin", cargopctmin);

                cargohighwater = _program._CustomDataIni.Get(sCargoSection, "cargohighwater").ToInt32(cargohighwater);
                _program._CustomDataIni.Set(sCargoSection, "cargohighwater", cargohighwater);

                if (_displays != null)
                {
                    _displays.AddSurfaceHandler("CARGOCHECK", SurfaceHandler);
                }
            }