Beispiel #1
0
        public MeadowApp()
        {
            Console.WriteLine("TftSpi sample");

            Initialize();

            Console.WriteLine("Clear");
            display.Clear();
            display.Show();

            Console.WriteLine("Small rect");
            graphics.Clear();
            graphics.DrawRectangle(0, 0, 30, 30, Color.Azure, true);
            graphics.Show();
            Thread.Sleep(1000);

            OverviewScreen();
            Thread.Sleep(5000);

            while (true)
            {
                InvertTest();

                PolarLineTest();
                Thread.Sleep(5000);

                RoundRectTest();
                Thread.Sleep(5000);

                QuadrantTest();
                Thread.Sleep(5000);

                StrokeTest();
                Thread.Sleep(5000);

                ShapeTest();
                Thread.Sleep(5000);

                FontScaleTest();
                Thread.Sleep(5000);

                ColorFontTest();
                Thread.Sleep(5000);

                CircleTest();
                Thread.Sleep(5000);
            }
        }
Beispiel #2
0
        public MeadowApp()
        {
            Console.WriteLine("TftSpi sample");

            Initialize();

            // Benchmark();

            display.ClearScreen(0xFF);
            display.Show();
            Thread.Sleep(1000);

            graphics.Clear(true);

            graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
            graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
            graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
            graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
            graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
            graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
            graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

            Console.WriteLine("Show");

            graphics.Show();

            Thread.Sleep(2000);

            while (true)
            {
                PathTest();
                Thread.Sleep(100000);

                LineTest();

                PolarLineTest();
                Thread.Sleep(5000);

                RoundRectTest();
                Thread.Sleep(5000);

                QuadrantTest();
                Thread.Sleep(5000);

                StrokeTest();
                Thread.Sleep(5000);

                ShapeTest();
                Thread.Sleep(5000);

                FontScaleTest();
                Thread.Sleep(5000);

                FontAlignmentTest();
                Thread.Sleep(5000);

                ColorFontTest();
                Thread.Sleep(5000);

                CircleTest();
                Thread.Sleep(5000);

                InvertTest();
            }
        }
Beispiel #3
0
        void Initialize()
        {
            Console.WriteLine("Initialize hardware...");

            onboardLed = new RgbPwmLed(device: Device,
                                       redPwmPin: Device.Pins.OnboardLedRed,
                                       greenPwmPin: Device.Pins.OnboardLedGreen,
                                       bluePwmPin: Device.Pins.OnboardLedBlue,
                                       3.3f, 3.3f, 3.3f,
                                       Meadow.Peripherals.Leds.IRgbLed.CommonType.CommonAnode);

            Console.WriteLine("Create Display with SPI...");

            var config = new SpiClockConfiguration(12000, SpiClockConfiguration.Mode.Mode0);

            var bus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config);

            ssd1309 = new Ssd1309
                      (
                device: Device,
                spiBus: bus,
                chipSelectPin: Device.Pins.D02,
                dcPin: Device.Pins.D01,
                resetPin: Device.Pins.D00
                      );

            Console.WriteLine("Create GraphicsLibrary...");

            var gl = new GraphicsLibrary(ssd1309)
            {
                CurrentFont = new Font8x12(),
            };

            gl.Clear();
            gl.DrawText(0, 0, "Loading Menu");
            gl.Show();

            display = gl as ITextDisplay;

            Console.WriteLine("Load menu data...");

            var menuData = LoadResource("menu.json");

            Console.WriteLine($"Data length: {menuData.Length}...");

            Console.WriteLine("Create buttons...");

            Console.WriteLine("Create menu...");

            menu = new Menu(display, menuData, false);

            next          = new PushButton(Device, Device.Pins.D10, ResistorMode.Disabled);
            next.Clicked += (s, e) => { menu.Next(); };

            select          = new PushButton(Device, Device.Pins.D11, ResistorMode.Disabled);
            select.Clicked += (s, e) => { menu.Select(); };

            previous          = new PushButton(Device, Device.Pins.D12, ResistorMode.Disabled);
            previous.Clicked += (s, e) => { menu.Previous(); };

            Console.WriteLine("Enable menu...");

            menu.Enable();
        }