Beispiel #1
0
        /// <summary>
        /// Tunnel
        /// </summary>
        public static void Demo6()
        {
            // Initialize the led strip
            int i = 1;

            Util.Setup();
            int        task    = Util.StartTask();
            CercleList cercles = new CercleList(3, 5);

            while (Util.TaskWork(task))
            {
                foreach (Cercle cercle in cercles)
                {
                    for (int degree = 0; degree < 360; degree += 5)
                    {
                        if (Cercle(degree, cercle.Rayon, cercle.X, cercle.Y) is Coordonnee coord)
                        {
                            Util.Context.Pixels.GetCoordonnee(coord).SetColor(cercle.Couleur);
                        }
                    }
                }

                cercles.SetRayon(0.3, i++ % 2000 > 1000);

                Util.SetLeds();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Cercle
        /// </summary>
        public static void Demo2()
        {
            Util.Setup();
            int        task    = Util.StartTask();
            Random     random  = new Random();
            DateTime   temp    = DateTime.Now;
            CercleList cercles = new CercleList(4, 1, 90);

            while (Util.TaskWork(task))
            {
                if (temp.AddMinutes(1) < DateTime.Now)
                {
                    temp = DateTime.Now;
                    int r = random.Next(2, 12);
                    cercles = new CercleList(r, 1, 360 / r);
                }

                cercles.Variation();

                foreach (Cercle cercle in cercles)
                {
                    Util.Context.Pixels.GetCoordonnee(Util.Context.Pixels.GetCercleCoord(cercle.Centre, cercle.DegreeInter, cercle.Rayon)).SetColor(cercle.Couleur);
                }

                cercles.SetDegree(5);

                //Background
                Util.SetLeds();
                Util.Context.Pixels.Reset();

                using ManualResetEventSlim waitHandle = new ManualResetEventSlim(false);
                waitHandle.Wait(TimeSpan.FromMilliseconds(2));
            }
        }
Beispiel #3
0
        /// <summary>
        /// Spiral
        /// </summary>
        public static void Demo4()
        {
            // Initialize the led strip
            int i = 1;

            Util.Setup();
            int        task    = Util.StartTask();
            Random     random  = new Random();
            CercleList cercles = new CercleList(3, 5, 120);

            while (Util.TaskWork(task))
            {
                if (i++ % 250 == 249)
                {
                    int r = random.Next(2, 9);
                    cercles = new CercleList(r, 5, 360 / r);
                }

                for (double rayon = 1; rayon < 15; rayon += 0.4)
                {
                    foreach (Cercle cercle in cercles)
                    {
                        if (Cercle(360 - (cercle.DegreeInter - (int)(rayon * 10)) % 360, rayon) is Coordonnee coord)
                        {
                            Util.Context.Pixels.GetCoordonnee(coord).SetColor(cercle.Couleur);
                        }
                    }
                }

                cercles.SetDegree(9);
                Util.SetLeds();

                using ManualResetEventSlim waitHandle = new ManualResetEventSlim(false);
                waitHandle.Wait(TimeSpan.FromMilliseconds(8));
            }
        }