Exemple #1
0
        async Task _render()
        {
            var r = new RenderTargetBitmap();

            await r.RenderAsync(OLEDRenderer);

            var colors = await PixelRender.GetPixels(r);

            for (var i = 0; i < r.PixelHeight; i++)
            {
                for (var x = 0; x < r.PixelWidth; x++)
                {
                    var pixel   = colors[x, i];
                    var average = (pixel.Red + pixel.Green + pixel.Blue) / 3;
                    if (average > 0)
                    {
                        _oled.DrawPixel((ushort)x, (ushort)i, 1);
                    }
                    else
                    {
                        _oled.DrawPixel((ushort)x, (ushort)i, 0);
                    }
                }
            }
            _oled.Display();
            await Task.Yield();
        }
Exemple #2
0
        async void _init()
        {
            await Task.Delay(500);

            _factory.Init();
            _oled = _factory.GetComponent<IOLED_SSD1306_I2C>();
            _a1 = _factory.GetComponent<IExplorerHat_AnaloguePlug1>();
            await _a1.Init();
            await _oled.Init(OLEDConstants.SSD1306_I2C_ADDRESS, OLEDDisplaySize.SSD1306_128_64);

            _oled.Display();

            _loop();
        }
Exemple #3
0
        async void _init()
        {
            await Task.Delay(500);

            _factory.Init();
            _oled = _factory.GetComponent <IOLED_SSD1306_I2C>();
            _a1   = _factory.GetComponent <IExplorerHat_AnaloguePlug1>();
            await _a1.Init();

            await _oled.Init(OLEDConstants.SSD1306_I2C_ADDRESS, OLEDDisplaySize.SSD1306_128_64);

            _oled.Display();

            _loop();
        }