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