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 # ) 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 ) splash.append(bg_sprite)
displayio.release_displays() # 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 # ) time.sleep(1) display = adafruit_ssd1327.SSD1327(display_bus, width=128, height=128) g = displayio.Group() dimension = min(display.width, display.height) color_count = 16 gamma_pattern = displayio.Bitmap(dimension, dimension, color_count) gamma_palette = displayio.Palette(color_count) t = displayio.TileGrid(gamma_pattern, pixel_shader=gamma_palette) pixels_per_step = dimension // color_count for i in range(dimension): if i % pixels_per_step == 0: continue gamma_pattern[i, i] = i // pixels_per_step
displayio.release_displays() # i2c setup, higher frequency for display refresh i2c = busio.I2C(board.GP1, board.GP0, frequency=1000000) # i2c display setup display_bus = displayio.I2CDisplay(i2c, device_address=0x3D) # i2c AW9523 GPIO expander setup aw = adafruit_aw9523.AW9523(i2c) # MIDI setup as MIDI out device midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0) # display dimensions WIDTH = 128 HEIGHT = 128 # display setup display = adafruit_ssd1327.SSD1327(display_bus, width=WIDTH, height=HEIGHT, brightness = 0.01) # main display group, shows default GUI menu splash = displayio.Group(max_size=60) # group for circle icons circle_group = displayio.Group(max_size=30) # group for text labels on circles text_group = displayio.Group(max_size=30) # list of circle positions spots = ( (16, 16), (48, 16), (80, 16), (112, 16), (16, 48),