Example #1
0
        public void SetBrightness(string Nickname, int Brightness)
        {
            int pin;

            if (GetPin(Nickname, out pin))
            {
                GpioManager.SetPwm(pin, Brightness);
            }
        }
Example #2
0
 public Light(string nickname, int brightness, bool state, int pin, int transitionSpeed)
 {
     Nickname             = nickname;
     _PrefferedBrightness = brightness;
     _State          = state;
     Pin             = pin;
     TransitionSpeed = transitionSpeed;
     GpioManager.MakeOutput(Pin);
     IP = new Uri("http://127.0.0.0/");
 }
Example #3
0
        public async Task TurnOnAsync(string NickName)
        {
            int pin;

            if (GetPin(NickName, out pin))
            {
                for (int i = 0; i < MaxBrightness; i++)
                {
                    GpioManager.SetPwm(pin, i);
                    await Task.Delay(TransitionSpeed);
                }
                Debug.WriteLine("light on");
            }
        }
Example #4
0
 public bool AddLight(string NickName, int Pin)
 {
     if (Lights.ContainsKey(NickName))
     {
         Debug.WriteLine("Duplicate name");
         return(false);
     }
     else
     {
         Lights.Add(NickName, Pin);
         GpioManager.MakeOutput(Pin);
         return(true);
     }
 }
Example #5
0
        public async Task TurnOffAsync(string NickName)
        {
            int pin;

            if (GetPin(NickName, out pin))
            {
                Debug.WriteLine("turning light off");
                for (int i = 100; i > -1; i--)
                {
                    GpioManager.SetPwm(pin, i);
                    await Task.Delay(TransitionSpeed);

                    Debug.WriteLine(i.ToString());
                }
                Debug.WriteLine("light off");
            }
        }
Example #6
0
        public bool AddLight(string Nickname, int pin)
        {
            Light light = new Light(Nickname, 100, false, pin, TransitionSpeed);


            if (Lights.ToList().Find(x => x.Nickname == light.Nickname || x.Pin == pin) != null)
            {
                Debug.WriteLine("Duplicate name or pin");
                return(false);
            }
            else
            {
                Lights.Add(light);
                GpioManager.MakeOutput(light.Pin);
                return(true);
            }
        }
Example #7
0
 private async Task SetBrightnessTo(int value)
 {
     if (_CurrentBrightness > value)
     {
         for (int i = _CurrentBrightness; i >= value; i--)
         {
             GpioManager.SetPwm(Pin, i);
             await Task.Delay(TransitionSpeed);
         }
     }
     else if (_CurrentBrightness < value)
     {
         for (int i = _CurrentBrightness; i <= value; i++)
         {
             GpioManager.SetPwm(Pin, i);
             await Task.Delay(TransitionSpeed);
         }
     }
     _CurrentBrightness = value;
 }