Skip to content

Commit 95fe1ce

Browse files
committed
restructure to subclass framebuf properly - less messy than what we were doing
1 parent 714a535 commit 95fe1ce

File tree

1 file changed

+5
-18
lines changed

1 file changed

+5
-18
lines changed

adafruit_ssd1306.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,11 @@
6262
#pylint: enable-msg=bad-whitespace
6363

6464

65-
class _SSD1306:
65+
class _SSD1306(framebuf.FrameBuffer):
6666
"""Base class for SSD1306 display driver"""
6767
#pylint: disable-msg=too-many-arguments
68-
#pylint: disable-msg=too-many-instance-attributes
69-
def __init__(self, framebuffer, width, height, *, external_vcc, reset):
70-
self.framebuf = framebuffer
71-
self.fill = self.framebuf.fill
72-
self.pixel = self.framebuf.pixel
73-
self.line = self.framebuf.line
74-
self.text = self.framebuf.text
75-
self.scroll = self.framebuf.scroll
76-
self.blit = self.framebuf.blit
77-
self.vline = self.framebuf.vline
78-
self.hline = self.framebuf.hline
79-
self.fill_rect = self.framebuf.fill_rect
80-
self.rect = self.framebuf.rect
68+
def __init__(self, buffer, width, height, *, external_vcc, reset):
69+
super().__init__(buffer, width, height)
8170
self.width = width
8271
self.height = height
8372
self.external_vcc = external_vcc
@@ -191,8 +180,7 @@ def __init__(self, width, height, i2c, *, addr=0x3c, external_vcc=False, reset=N
191180
# buffer).
192181
self.buffer = bytearray(((height // 8) * width) + 1)
193182
self.buffer[0] = 0x40 # Set first byte of data buffer to Co=0, D/C=1
194-
framebuffer = framebuf.FrameBuffer1(memoryview(self.buffer)[1:], width, height)
195-
super().__init__(framebuffer, width, height,
183+
super().__init__(memoryview(self.buffer)[1:], width, height,
196184
external_vcc=external_vcc, reset=reset)
197185

198186
def write_cmd(self, cmd):
@@ -230,8 +218,7 @@ def __init__(self, width, height, spi, dc, reset, cs, *,
230218
polarity=polarity, phase=phase)
231219
self.dc_pin = dc
232220
self.buffer = bytearray((height // 8) * width)
233-
framebuffer = framebuf.FrameBuffer1(self.buffer, width, height)
234-
super().__init__(framebuffer, width, height,
221+
super().__init__(memoryview(self.buffer), width, height,
235222
external_vcc=external_vcc, reset=reset)
236223

237224
def write_cmd(self, cmd):

0 commit comments

Comments
 (0)