public void LightningPattern(CancellationToken token) { var random = new Random(); using (var rpi = new WS281x(settings)) { while (true) { if (token.IsCancellationRequested) { this.logger.Information("Cancelling Lightning Pattern..."); break; } var blue = random.NextDouble(); if (blue < 100) { blue = 100; } rpi.SetBrightness((int)(255 * random.NextDouble())); rpi.SetAll(Color.FromArgb(255, 100, 100, (int)blue)); Thread.Sleep((int)(2000 * random.NextDouble())); rpi.SetBrightness(0); Thread.Sleep((int)(5000 * random.NextDouble())); } } }
public Task <bool> SolidPixels(Pixels pixels) { using (var rpi = new WS281x(settings)) { rpi.SetAll(Color.FromArgb(255, pixels.r, pixels.g, pixels.b)); return(Task.FromResult <bool>(true)); //rpi.SetLed(0, Color.Blue); //rpi.SetLed(1, Color.Red); //rpi.Render(); //var brightness = rpi.GetBrightness(); //rpi.SetBrightness(128); //var ledCount = rpi.GetLedCount(); //rpi.SetLedCount(32); //rpi.SetAll(Color.Green); //rpi.Reset(); //rpi.Dispose(); } }
public void FadePixels(CancellationToken token, Pixels pixels) { using (var rpi = new WS281x(settings)) { rpi.SetAll(Color.FromArgb(255, pixels.r, pixels.g, pixels.b)); while (true) { for (double x = 0.0; x <= 2.0 * Math.PI; x += (5.0 / 255.0)) { if (token.IsCancellationRequested) { this.logger.Information("Cancelling Fade Pattern..."); break; } rpi.SetBrightness((int)(255.0 * Math.Abs(Trig.Sin(x)))); Thread.Sleep(10); } } } }