Пример #1
0
        private async Task Init()
        {
            try
            {
                await InitGpio();

                var deviceSPI = await InitSPI();

                var deviceI2C = await InitI2C();

                //create SPI display
                SSD1603.SSD1603Configuration cfg_128_64 = SSD1603.CreateConfiguration(Screen.OLED_128_64);
                cfg_128_64.CommonPinConfiguration        = SSD1603.CommonPinConfigurationOptions.Alternative;
                cfg_128_64.IsSegmentRemapped             = true;
                cfg_128_64.IsCommonScanDirectionRemapped = true;



                _displaySpi = new SSD1603(cfg_128_64, deviceSPI, _pinDataCmd, _pinReset);

                //create I2C display
                //SSD1603.SSD1603Configuration cfg_128_32 = SSD1603.CreateConfiguration(Screen.OLED_128_32);
                //cfg_128_32.IsSegmentRemapped = true;
                //cfg_128_32.IsCommonScanDirectionRemapped = true;
                _displayI2c = new SSD1603(Screen.OLED_128_32, deviceI2C);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("initialization failed", ex.Message);
                return;
            }
        }
Пример #2
0
        private void ShowEmoji(int idx, string emoji)
        {
            SSD1603          display = idx == 0 ? _displaySpi : _displayI2c;
            CanvasTextFormat fmt     = idx == 0 ? _fmtBg : _fmtSm;

            if (display != null && display.State == SSD1603.States.Ready)
            {
                //draw
                using (CanvasDrawingSession ds = display.Render.CreateDrawingSession())
                {
                    ds.Antialiasing     = CanvasAntialiasing.Aliased;
                    ds.TextAntialiasing = CanvasTextAntialiasing.Aliased;
                    ds.Clear(SSD1603.BackgroundColor);
                    ds.DrawText(emoji, 0, 0, SSD1603.ForeColor, fmt);
                }

                Debug.WriteLine("display " + emoji);
                display.Display();
            }
        }