Exemplo n.º 1
0
        // Not used by default but much simpler to understand
        private static void SetPixelDemo(SenseHatLedMatrix ledMatrix)
        {
            ledMatrix.Fill(Color.Purple);

            ledMatrix.SetPixel(0, 0, Color.Red);
            ledMatrix.SetPixel(1, 0, Color.Green);
            ledMatrix.SetPixel(2, 0, Color.Blue);

            for (int i = 1; i <= 7; i++)
            {
                ledMatrix.SetPixel(i, i, Color.White);
            }
        }
Exemplo n.º 2
0
        public void Render(Color[] colorMatrix)
        {
            if (colorMatrix.Length != height * width)
            {
                throw new ArgumentException($"LEDs should be of length {height * width} but is {colorMatrix.Length}", nameof(colorMatrix));
            }

            for (var i = 0; i < width * height; i++)
            {
                if (previousColorMatrix[i] == colorMatrix[i])
                {
                    continue;
                }

                var x = i % width;
                var y = i / width;

                _ledMatrix.SetPixel(x, y, colorMatrix[i]);
            }

            previousColorMatrix = colorMatrix;
        }