public void Execute(AbortRequest request) { Console.Clear(); Console.Write("How many LEDs do you want to use: "); var ledCount = Int32.Parse(Console.ReadLine()); var settings = Settings.CreateDefaultSettings(); var controller = settings.AddController(ledCount, Pin.Gpio18, StripType.WS2811_STRIP_RGB); using (var device = new WS281x(settings)) { var colors = GetAnimationColors(); while (!request.IsAbortRequested) { for (int i = 0; i < controller.LEDCount; i++) { var colorIndex = (i + colorOffset) % colors.Count; controller.SetLED(i, colors[colorIndex]); } device.Render(); colorOffset = (colorOffset + 1) % colors.Count; Thread.Sleep(500); } device.Reset(); } }
public Task <bool> TurnOff() { using (var rpi = new WS281x(settings)) { rpi.Reset(); rpi.Dispose(); return(Task.FromResult <bool>(true)); } }
public void Execute(AbortRequest request) { Console.Clear(); Console.Write("How many LEDs do you want to use: "); var ledCount = Int32.Parse(Console.ReadLine()); var settings = Settings.CreateDefaultSettings(); var channel = settings.AddController(ledCount, Pin.Gpio18, StripType.WS2811_STRIP_RGB); using (var device = new WS281x(settings)) { while (!request.IsAbortRequested) { Wipe(device, Color.Red); Wipe(device, Color.Green); Wipe(device, Color.Blue); } device.Reset(); } }
public void Execute(AbortRequest request, int gpioPin) { var pin = Pin.Gpio18; if (gpioPin == 19) { pin = Pin.Gpio19; } if (gpioPin == 10) { pin = Pin.Gpio10; } if (gpioPin == 21) { pin = Pin.Gpio21; } Console.Clear(); Console.Write("How many LEDs do you want to use: "); var ledCount = Int32.Parse(Console.ReadLine()); var settings = Settings.CreateDefaultSettings(); settings.AddController(ledCount, pin, StripType.WS2811_STRIP_RGB); using (var device = new WS281x(settings)) { while (!request.IsAbortRequested) { Wipe(device, Color.Red); Wipe(device, Color.Green); Wipe(device, Color.Blue); } device.Reset(); } }
public void Dispose() { _device?.Reset(); _device?.Dispose(); }