Skip to content

Commit

Permalink
Merge pull request #7 from makermelissa/master
Browse files Browse the repository at this point in the history
Spruce up examples
  • Loading branch information
makermelissa authored Nov 4, 2020
2 parents a28c424 + a7c3b22 commit a2b21d6
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 21 deletions.
1 change: 0 additions & 1 deletion adafruit_ssd1327.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ def __init__(self, bus, **kwargs):
if "rotation" in kwargs and kwargs["rotation"] % 180 != 0:
height = kwargs["width"]
init_sequence[18] = height - 1 # patch mux ratio
print(height)
super().__init__(
bus,
init_sequence,
Expand Down
21 changes: 12 additions & 9 deletions examples/ssd1327_gamma.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
import time
import board
import busio
import displayio
import adafruit_ssd1327

displayio.release_displays()

# This pinout works on a Metro and may need to be altered for other boards.
spi = busio.SPI(board.SCL, board.SDA)
tft_cs = board.D6
tft_dc = board.D9
tft_reset = board.D5
# Use for I2C
i2c = board.I2C()
display_bus = displayio.I2CDisplay(i2c, device_address=0x3D)

# Use for SPI
# spi = board.SPI()
# oled_cs = board.D5
# oled_dc = board.D6
# display_bus = displayio.FourWire(
# spi, command=oled_dc, chip_select=oled_cs, baudrate=1000000, reset=board.D9
# )


display_bus = displayio.FourWire(
spi, command=tft_dc, chip_select=tft_cs, reset=tft_reset, baudrate=1000000
)
time.sleep(1)
display = adafruit_ssd1327.SSD1327(display_bus, width=128, height=128)

Expand Down
71 changes: 60 additions & 11 deletions examples/ssd1327_simpletest.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,68 @@
import time
import board
import busio
import displayio
import terminalio
from adafruit_display_text import label
import adafruit_ssd1327

displayio.release_displays()

# This pinout works on a Metro and may need to be altered for other boards.
spi = busio.SPI(board.SCL, board.SDA)
tft_cs = board.D6
tft_dc = board.D9
tft_reset = board.D5
# Use for I2C
i2c = board.I2C()
display_bus = displayio.I2CDisplay(i2c, device_address=0x3D)

display_bus = displayio.FourWire(
spi, command=tft_dc, chip_select=tft_cs, reset=tft_reset, baudrate=1000000
# Use for SPI
# spi = board.SPI()
# oled_cs = board.D5
# oled_dc = board.D6
# display_bus = displayio.FourWire(
# spi, command=oled_dc, chip_select=oled_cs, baudrate=1000000, reset=board.D9
# )

WIDTH = 128
HEIGHT = 128
BORDER = 8
FONTSCALE = 1

display = adafruit_ssd1327.SSD1327(display_bus, width=WIDTH, height=HEIGHT)

# Make the display context
splash = displayio.Group(max_size=10)
display.show(splash)

# Draw a background rectangle, but not the full display size
color_bitmap = displayio.Bitmap(
display.width - BORDER * 2, display.height - BORDER * 2, 1
)
color_palette = displayio.Palette(1)
color_palette[0] = 0xFFFFFF # White
bg_sprite = displayio.TileGrid(
color_bitmap, pixel_shader=color_palette, x=BORDER, y=BORDER
)
time.sleep(1)
display = adafruit_ssd1327.SSD1327(display_bus, width=128, height=128)
splash.append(bg_sprite)

# Draw a smaller inner rectangle
inner_bitmap = displayio.Bitmap(
display.width - BORDER * 4, display.height - BORDER * 4, 1
)
inner_palette = displayio.Palette(1)
inner_palette[0] = 0x888888 # Gray
inner_sprite = displayio.TileGrid(
inner_bitmap, pixel_shader=inner_palette, x=BORDER * 2, y=BORDER * 2
)
splash.append(inner_sprite)

# Draw a label
text = "Hello World!"
text_area = label.Label(terminalio.FONT, text=text, color=0xFFFFFF)
text_width = text_area.bounding_box[2] * FONTSCALE
text_group = displayio.Group(
max_size=10,
scale=FONTSCALE,
x=display.width // 2 - text_width // 2,
y=display.height // 2,
)
text_group.append(text_area) # Subgroup for text scaling
splash.append(text_group)

while True:
pass

0 comments on commit a2b21d6

Please sign in to comment.