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);
             }
         }
     }
 }