Simple test
Ensure your device works with this simple test.
examples/displayio_sh1106_simpletest.py
1# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2# SPDX-FileCopyrightText: Copyright (c) 2021 ladyada for Adafruit Industries
3#
4# SPDX-License-Identifier: Unlicense
5
6import board
7import busio
8import displayio
9import terminalio
10from adafruit_display_text import label
11from fourwire import FourWire
12
13import adafruit_displayio_sh1106
14
15displayio.release_displays()
16
17spi = busio.SPI(board.SCK, board.MOSI)
18display_bus = FourWire(
19 spi,
20 command=board.OLED_DC,
21 chip_select=board.OLED_CS,
22 reset=board.OLED_RESET,
23 baudrate=1000000,
24)
25
26WIDTH = 128
27HEIGHT = 64
28BORDER = 5
29display = adafruit_displayio_sh1106.SH1106(display_bus, width=WIDTH, height=HEIGHT)
30
31# Make the display context
32splash = displayio.Group()
33display.root_group = splash
34
35color_bitmap = displayio.Bitmap(WIDTH, HEIGHT, 1)
36color_palette = displayio.Palette(1)
37color_palette[0] = 0xFFFFFF # White
38
39bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0)
40splash.append(bg_sprite)
41
42# Draw a smaller inner rectangle
43inner_bitmap = displayio.Bitmap(WIDTH - BORDER * 2, HEIGHT - BORDER * 2, 1)
44inner_palette = displayio.Palette(1)
45inner_palette[0] = 0x000000 # Black
46inner_sprite = displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=BORDER, y=BORDER)
47splash.append(inner_sprite)
48
49# Draw a label
50text = "Hello World!"
51text_area = label.Label(terminalio.FONT, text=text, color=0xFFFFFF, x=28, y=HEIGHT // 2 - 1)
52splash.append(text_area)
53
54while True:
55 pass