Added oled module
This commit is contained in:
parent
4d297e6ab2
commit
bfa3f28098
41
kmk/modules/oled.py
Normal file
41
kmk/modules/oled.py
Normal file
@ -0,0 +1,41 @@
|
||||
import adafruit_ssd1306
|
||||
import busio
|
||||
|
||||
from kmk.modules import Module
|
||||
|
||||
class Oled(Module):
|
||||
def __init__(self, pin1, pin2, startup_image = None, anim1 = None, anim2 = None):
|
||||
print("Init OLED")
|
||||
self.i2c = busio.I2C(pin1, pin2)
|
||||
self.startup_image = startup_image
|
||||
# self.anim1 = anim1
|
||||
# self.anim2 = anim2
|
||||
# self.anim_state = self.anim1
|
||||
self.oled = adafruit_ssd1306.SSD1306_I2C(128, 32, self.i2c)
|
||||
self.oled.fill(0)
|
||||
print(self.oled.height, self.oled.width)
|
||||
self.oled.text("Init", 0, 0, 1)
|
||||
self.oled.show()
|
||||
|
||||
def _draw_image(self, image, size=(32, 128)):
|
||||
print("calling draw_image")
|
||||
self.oled.fill(0)
|
||||
for i in range(size[0]):
|
||||
for j in range(size[1]):
|
||||
self.oled.pixel(j, i, 0 if image[i][j] is False else True)
|
||||
self.oled.show()
|
||||
|
||||
def during_bootup(self, keyboard):
|
||||
if self.startup_image is not None:
|
||||
self._draw_image(self.startup_image)
|
||||
|
||||
print("booting")
|
||||
return super().during_bootup(keyboard)
|
||||
|
||||
def after_matrix_scan(self, keyboard):
|
||||
return super().after_matrix_scan(keyboard)
|
||||
|
||||
def process_key(self, keyboard, key, is_pressed):
|
||||
# self._draw_image(self.anim1 if self.anim_state == self.anim2 else self.anim2, (32,32))
|
||||
# self.anim_state = self.anim2 if self.anim_state == self.anim1 else self.anim2
|
||||
return super().process_key(keyboard, key, is_pressed)
|
||||
Loading…
x
Reference in New Issue
Block a user