/ examples / ssd1325_gamma.py
ssd1325_gamma.py
 1  import time
 2  import board
 3  import displayio
 4  import adafruit_ssd1325
 5  
 6  displayio.release_displays()
 7  
 8  spi = board.SPI()
 9  oled_cs = board.D5
10  oled_dc = board.D6
11  oled_reset = board.D9
12  
13  display_bus = displayio.FourWire(
14      spi, command=oled_dc, chip_select=oled_cs, reset=oled_reset, baudrate=1000000
15  )
16  time.sleep(1)
17  display = adafruit_ssd1325.SSD1325(display_bus, width=128, height=64)
18  
19  g = displayio.Group()
20  dimension = min(display.width, display.height)
21  color_count = 16
22  gamma_pattern = displayio.Bitmap(dimension, dimension, color_count)
23  gamma_palette = displayio.Palette(color_count)
24  t = displayio.TileGrid(gamma_pattern, pixel_shader=gamma_palette)
25  
26  pixels_per_step = dimension // color_count
27  
28  for i in range(dimension):
29      if i % pixels_per_step == 0:
30          continue
31      gamma_pattern[i, i] = i // pixels_per_step
32  
33  for i in range(color_count):
34      component = i * 255 // (color_count - 1)
35      print(component)
36      gamma_palette[i] = component << 16 | component << 8 | component
37  
38  g.append(t)
39  
40  display.show(g)
41  
42  time.sleep(10)