Exemple #1
0
 public void PercentualeApertura(int percentuale)
 {
     if (percentuale == 0)
     {
         _lightBulb.Off();
         Task.Delay(20);
         _blindingFence.PosizionaFineCorsaAntiOrario(); //Si posiziona a fine-corsa anti oraria chiude le persiane paralume
         Task.Delay(20);
         _posizioneAttualeInStep = 0;
     }
     else if (percentuale == 100)
     {
         _lightBulb.On();
         Task.Delay(20);
         _blindingFence.PosizionaFineCorsaAntiOrario(); //Si posiziona a fine-corsa oraria apre le persiane paralume
         Task.Delay(20);
         _posizioneAttualeInStep = _stepTotali;
     }
     else if ((percentuale < 100) && (percentuale > 0))
     {
         _lightBulb.On();
         Task.Delay(20);
         _blindingFence.PosizionaFineCorsaOrario(); //Si posiziona a fine-corsa anti oraria chiude le persiane paralume
         Task.Delay(20);
         _posizioneAttualeInStep = (Int32)(((double)_stepTotali / 100.0) * (double)percentuale);
         _blindingFence.StepAntiOrario(_posizioneAttualeInStep);
         Task.Delay(20);
     }
     _percentuale = percentuale;
     InvokeWriteLog("Setted to % -> " + _percentuale);
     _blindingFence.Folle();
 }
Exemple #2
0
        public LightController(string n, StepperMotorDevice fence, OnOffDevice light) : base(n, new PhysicalDevice[] { fence, light })
        {
            _blindingFence = fence;
            _lightBulb     = light;

            _lightBulb.Off();
            Task.Delay(20);
            _blindingFence.PosizionaFineCorsaAntiOrario();
            Task.Delay(20);
            _stepTotali             = _blindingFence.CalculateStepNumberAndGoToEnd();
            _posizioneAttualeInStep = 0;
            _percentuale            = 0;
            _blindingFence.Folle();
            InvokeWriteLog("Device setted up");
        }