Пример #1
0
 private void StageDirectReset()
 {
     BatteryTest.Check(_master, true);
     TankTest.Check(_master, true);
     if (_currentStageTime > 450)
     {
         SafeguardTest.Check(_master, true);
         AlarmLightTest.Check(_master, false);
         _master.PaperLog.Append("-- Stage quickly acknowledge the alarm done \n");
         _currentStageTime = 0;
         Stage             = Stages.Wait;
     }
     else if (_currentStageTime > 300)
     {
         _master.Simulation.OnAcknowledgeButtonChange(false);
     }
     else if (_currentStageTime > 150)
     {
         _master.Simulation.OnAcknowledgeButtonChange(true);
     }
     else if (_currentStageTime > 50)
     {
         AlarmLightTest.Check(_master, true);
     }
 }
Пример #2
0
 /// <summary>
 /// Creates the test scenario
 /// </summary>
 public void InitialiseWith(EmergencySystemTest master)
 {
     _master        = master;
     BatteryTest    = new BatteryTest();
     TankTest       = new TankTest();
     SafeguardTest  = new SafeguardTest();
     AlarmLightTest = new AlarmLightTest();
 }
Пример #3
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            batteryTest = new BatteryTest();
            Application.Run(batteryTest);
        }
Пример #4
0
 private void StageRedo()
 {
     BatteryTest.Check(_master, false);
     TankTest.Check(_master, false);
     AlarmLightTest.Check(_master, false);
     if (_master.Simulation.SafeguardSignal)
     {
         _currentStageTime = 0;
         _master.PaperLog.Append("-- Stage wait for second error done \n");
         Stage = Stages.Blackout;
     }
 }
Пример #5
0
 private void StageLeakage()
 {
     BatteryTest.Check(_master);
     TankTest.Check(_master);
     if (_currentStageTime > 100)
     {
         AlarmLightTest.Check(_master, true);
         SafeguardTest.Check(_master, true);
         _currentStageTime = 0;
         _master.PaperLog.Append("-- Stage leakage done\n");
         Stage = Stages.WaitCharges;
     }
 }
Пример #6
0
 private void StageCoolDown()
 {
     AlarmLightTest.Check(_master, false);
     if (_currentStageTime > 1000)
     {
         _master.PaperLog.Append("\n*** Stopped protocol ***\n\n");
         _currentStageTime = 0;
         Stage             = Stages.Done;
     }
     if (_currentStageTime > 100)
     {
         BatteryTest.Check(_master, false);
         TankTest.Check(_master, false);
         SafeguardTest.Check(_master, false);
     }
 }
Пример #7
0
 private void StageBuildUp()
 {
     BatteryTest.Check(_master, false);
     TankTest.Check(_master, false);
     AlarmLightTest.Check(_master, false);
     if (_master.Simulation.SafeguardSignal)
     {
         _currentStageTime = 0;
         _master.PaperLog.Append("-- Stage build up done\n");
         Stage = Stages.Leakage;
     }
     else if (_currentStageTime > 2500 && _currentStageTime < 2550)
     {
         _master.Simulation.OnAcknowledgeButtonChange(false);
     }
     else if (_currentStageTime > 500 && _currentStageTime < 550)
     {
         _master.Simulation.OnAcknowledgeButtonChange(true);
     }
 }
Пример #8
0
 private void StageWait()
 {
     BatteryTest.Check(_master, true);
     TankTest.Check(_master, true);
     AlarmLightTest.Check(_master, false);
     if ((_master.Simulation.PressureSignal >= 2000 && _master.Simulation.BatterySignal >= 45f) ||
         _currentStageTime > 10000)
     {
         if (_currentStageTime < 4600)
         {
             _master.PaperLog.Append("Time needed to charge: " + _currentStageTime + "\n");
             _master.PaperLog.Append("-- Stage wait for battery and tank done\n");
         }
         else
         {
             StageRechargeTimedOut = true;
             _master.PaperLog.AppendWarning("-- Stage wait for battery and tank timed out!\n");
         }
         _currentStageTime = 0;
         Stage             = Stages.CoolDown;
     }
 }
Пример #9
0
 private void StageReset()
 {
     if (_currentStageTime > 300)
     {
         AlarmLightTest.Check(_master, false);
         SafeguardTest.Check(_master, false);
         _currentStageTime = 0;
         _master.PaperLog.Append("-- Stage reset alarm done\n");
         _master.PaperLog.Append("***Reset Simulation***\n");
         _master.Simulation.ResetSimulation();
         Stage = Stages.Redo;
     }
     else if (_currentStageTime > 200)
     {
         _master.Simulation.OnAcknowledgeButtonChange(false);
     }
     else if (_currentStageTime > 100)
     {
         BatteryTest.Check(_master, false);
         TankTest.Check(_master, false);
         _master.Simulation.OnAcknowledgeButtonChange(true);
     }
 }
Пример #10
0
 private void StageWaitCharges()
 {
     BatteryTest.Check(_master);
     TankTest.Check(_master);
     SafeguardTest.Check(_master, true);
     AlarmLightTest.Check(_master, true);
     if ((_master.Simulation.PressureSignal >= 2000 && _master.Simulation.BatterySignal >= 45f) ||
         _currentStageTime > 10000)
     {
         if (_currentStageTime < 5000)
         {
             _master.PaperLog.Append("Time needed to charge: " + _currentStageTime + "\n");
             _master.PaperLog.Append("-- Stage wait for correct battery voltage and tank pressure done\n");
         }
         else
         {
             StageRechargeTimedOut = true;
             _master.PaperLog.AppendWarning("-- Stage wait for correct battery voltage and tank pressure timed out!\n");
         }
         _currentStageTime = 0;
         Stage             = Stages.Reset;
     }
 }
Пример #11
0
        public MainPage()
        {
            InitializeComponent();


            //加速度センサーの起動
            var acl = new AccelerometerTest();

            acl.ToggleAccelerometer();
            this.label1.BindingContext = acl;

            //アプリ情報
            var appInfo = new AppInfoTest();

            this.label2.BindingContext = appInfo;
            appInfo.UpdateMessage();

            //気圧
            var bm = new BarometerTest();

            bm.ToggleBarometer();
            this.label3.BindingContext = bm;

            //バッテリー情報
            var ba = new BatteryTest();

            this.label4.BindingContext = ba;
            ba.UpdateMessage();

            //コンパス情報
            var compass = new CompassTest();

            compass.ToggleCompass();
            this.label5.BindingContext = compass;

            //ネットワーク情報
            var network = new NetworkAccessTest();

            this.label6.BindingContext = network;
            network.UpdateMessage();

            //ディスプレイ情報
            var displayInfo = new DisplayInfoTest();

            this.label7.BindingContext = displayInfo;
            displayInfo.UpdateMessage();

            //デバイス情報
            var deviceInfo = new DeviceInfoTest();

            this.label8.BindingContext = deviceInfo;
            deviceInfo.UpdateMessage();

            //地理情報
            //あれ、経緯度→地名はオフラインでもいける?
            var geocoding = new GeocodingTest();

            this.label9.BindingContext = geocoding;
            geocoding.UpdateMessage();

            //GPS情報
            var geoloc = new GeoLocationTest();

            this.label10.BindingContext = geoloc;

            //ジャイロ
            var gyro = new GyroscopeTest();

            gyro.ToggleGyroscope();
            this.label11.BindingContext = gyro;

            //磁力計
            var mag = new MagnetometerTest();

            mag.ToggleMagnetometer();
            this.label12.BindingContext = mag;

            //向きセンサー
            var ori = new OrientationSensorTest();

            ori.ToggleOrientationSensor();
            this.label13.BindingContext = ori;

            //シェイク検出
            var shake = new DetectShakeTest();

            shake.ToggleAccelerometer();
            //this.label14.BindingContext = shake;
            this.stacklayout.BindingContext = shake;
        }