Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 02afc0d

Browse files
committed
drivers/display/ssd1306.py: Change to use new i2c.writevto() method.
Fixes issue #3482.
1 parent b10d066 commit 02afc0d

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

drivers/display/ssd1306.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ def __init__(self, width, height, i2c, addr=0x3c, external_vcc=False):
9696
self.i2c = i2c
9797
self.addr = addr
9898
self.temp = bytearray(2)
99+
self.write_list = [b'\x40', None] # Co=0, D/C#=1
99100
super().__init__(width, height, external_vcc)
100101

101102
def write_cmd(self, cmd):
@@ -104,12 +105,8 @@ def write_cmd(self, cmd):
104105
self.i2c.writeto(self.addr, self.temp)
105106

106107
def write_data(self, buf):
107-
self.temp[0] = self.addr << 1
108-
self.temp[1] = 0x40 # Co=0, D/C#=1
109-
self.i2c.start()
110-
self.i2c.write(self.temp)
111-
self.i2c.write(buf)
112-
self.i2c.stop()
108+
self.write_list[1] = buf
109+
self.i2c.writevto(self.addr, self.write_list)
113110

114111

115112
class SSD1306_SPI(SSD1306):

0 commit comments

Comments
 (0)