static void ScrollDemo(NusbioMatrix matrix, int deviceIndex) { Console.Clear(); ConsoleEx.TitleBar(0, "Scroll Demo"); ConsoleEx.WriteMenu(0, 2, "Q)uit"); matrix.Clear(all: true, refresh: true); for (var d = 0; d < matrix.DeviceCount; d++) { for (var x = 0; x < matrix.Width; x++) { matrix.SetLed(d, x, 0, true); matrix.SetLed(d, x, 7, true); matrix.SetLed(d, 0, x, true); } } matrix.WriteDisplay(all: true); Thread.Sleep(1000); for (var z = 0; z < 8 * 3; z++) { matrix.ScrollPixelLeftDevices(3, 0); matrix.WriteDisplay(all: true); } }
static void test11(NusbioMatrix matrix) { matrix.Clear(0); Thread.Sleep(500); for (var r = 0; r < 8; r++) { for (var c = 0; c < 8; c++) { matrix.SetLed(0, r, c, true, true); // WriteDisplay for every pixel } } Thread.Sleep(500); matrix.Clear(0); Thread.Sleep(500); for (var r = 0; r < 8; r++) { for (var c = 0; c < 8; c++) { matrix.SetLed(0, r, c, true, c == 7); // WriteDisplay for every row } } Thread.Sleep(500); matrix.Clear(0); Thread.Sleep(500); for (var r = 0; r < 8; r++) { for (var c = 0; c < 8; c++) { matrix.SetLed(0, r, c, true, false); } } matrix.WriteDisplay(); // WriteDisplay only once Thread.Sleep(500); }
private static void DrawAxis(NusbioMatrix matrix, int deviceIndex) { ConsoleEx.Bar(0, ConsoleUserStatusRow, "Draw Axis Demo", ConsoleColor.Yellow, ConsoleColor.Red); Console.Clear(); ConsoleEx.TitleBar(0, "Draw Axis Demo"); ConsoleEx.WriteMenu(0, 2, "Q)uit"); matrix.Clear(deviceIndex); matrix.CurrentDeviceIndex = deviceIndex; matrix.Clear(deviceIndex); matrix.CurrentDeviceIndex = deviceIndex; matrix.DrawLine(0, 0, matrix.Width, 0, true); matrix.DrawLine(0, 0, 0, matrix.Height, true); matrix.WriteDisplay(deviceIndex); for (var i = 0; i < matrix.Width; i++) { matrix.SetLed(deviceIndex, i, i, true, true); } var k = Console.ReadKey(); }
// Testing MAX7219 to control 10 led bar // It is partially working as I can control MAX7219 SegA (8 led) or SegB (2 led) // But because only 10 led are wired instead of the 64, this affect the multiplexing // and in the end we cannot have the 10 led on at the same time static void test1(NusbioMatrix matrix) { //matrix.Clear(0, refresh: true); //for (var r = 0; r < 8; r++) // for (var c = 0; c < 8; c++) // matrix.SetLed(0, r, c, true, true); // WriteDisplay for every pixel //Thread.Sleep(500); matrix.Clear(0, refresh: true); matrix.SetPixel(0, (byte)(32)); matrix.SetPixel(1, (byte)(32)); matrix.WriteDisplay(); matrix.Clear(0, refresh: true); for (var p = 0; p < 8; p++) { matrix.SetPixel(p, (byte)(64)); matrix.WriteDisplay(); } matrix.WriteDisplay(); matrix.SetPixel(0, (byte)(64 + 32)); matrix.SetPixel(1, (byte)(64 + 32)); matrix.WriteDisplay(); matrix.Clear(0, refresh: true); for (var p = 0; p < 8; p++) { matrix.SetPixel(p, (byte)(255)); matrix.WriteDisplay(); } matrix.WriteDisplay(); matrix.Clear(0, refresh: true); for (var b = 0; b < 8; b++) { for (var p = 0; p < 8; p++) { matrix.SetPixel(p, (byte)(1 << b)); matrix.WriteDisplay(); } } Thread.Sleep(500); matrix.Clear(0, refresh: false); matrix.WriteDisplay(); matrix.Clear(0, refresh: true); for (var r = 0; r < 8; r++) { for (var c = 0; c < 8; c++) { matrix.SetLed(0, r, c, true, false); // WriteDisplay for every pixel } } Thread.Sleep(500); matrix.WriteDisplay(0); var m = new MAX7219MapTo10LedBarMap(matrix); m.Clear(true); for (var i = 0; i < m.Count; i++) { m.SetState(i, true, true); } m.WriteDisplay(); }