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)