public void SetBrightness(string Nickname, int Brightness) { int pin; if (GetPin(Nickname, out pin)) { GpioManager.SetPwm(pin, Brightness); } }
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/"); }
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"); } }
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); } }
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"); } }
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); } }
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; }