|
62 | 62 | #pylint: enable-msg=bad-whitespace
|
63 | 63 |
|
64 | 64 |
|
65 |
| -class _SSD1306: |
| 65 | +class _SSD1306(framebuf.FrameBuffer): |
66 | 66 | """Base class for SSD1306 display driver"""
|
67 | 67 | #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) |
81 | 70 | self.width = width
|
82 | 71 | self.height = height
|
83 | 72 | self.external_vcc = external_vcc
|
@@ -191,8 +180,7 @@ def __init__(self, width, height, i2c, *, addr=0x3c, external_vcc=False, reset=N
|
191 | 180 | # buffer).
|
192 | 181 | self.buffer = bytearray(((height // 8) * width) + 1)
|
193 | 182 | 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, |
196 | 184 | external_vcc=external_vcc, reset=reset)
|
197 | 185 |
|
198 | 186 | def write_cmd(self, cmd):
|
@@ -230,8 +218,7 @@ def __init__(self, width, height, spi, dc, reset, cs, *,
|
230 | 218 | polarity=polarity, phase=phase)
|
231 | 219 | self.dc_pin = dc
|
232 | 220 | 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, |
235 | 222 | external_vcc=external_vcc, reset=reset)
|
236 | 223 |
|
237 | 224 | def write_cmd(self, cmd):
|
|
0 commit comments