@@ -94,10 +94,11 @@ class Adafruit_SSD1675B(Adafruit_EPD):
9494 def __init__ (self , width , height , spi , * , cs_pin , dc_pin , sramcs_pin , rst_pin , busy_pin ):
9595 super (Adafruit_SSD1675B , self ).__init__ (width , height , spi , cs_pin , dc_pin ,
9696 sramcs_pin , rst_pin , busy_pin )
97- if width % 8 != 0 :
98- width += (8 - width % 8 )
97+ stride = width
98+ if stride % 8 != 0 :
99+ stride += (8 - stride % 8 )
99100
100- self ._buffer1_size = int (width * height / 8 )
101+ self ._buffer1_size = int (stride * height / 8 )
101102 self ._buffer2_size = self ._buffer1_size
102103
103104 if sramcs_pin :
@@ -108,9 +109,9 @@ def __init__(self, width, height, spi, *, cs_pin, dc_pin, sramcs_pin, rst_pin, b
108109 self ._buffer2 = bytearray (self ._buffer2_size )
109110 # since we have *two* framebuffers - one for red and one for black
110111 # we dont subclass but manage manually
111- self ._framebuf1 = adafruit_framebuf .FrameBuffer (self ._buffer1 , width , height ,
112+ self ._framebuf1 = adafruit_framebuf .FrameBuffer (self ._buffer1 , width , height , stride = stride ,
112113 buf_format = adafruit_framebuf .MHMSB )
113- self ._framebuf2 = adafruit_framebuf .FrameBuffer (self ._buffer2 , width , height ,
114+ self ._framebuf2 = adafruit_framebuf .FrameBuffer (self ._buffer2 , width , height , stride = stride ,
114115 buf_format = adafruit_framebuf .MHMSB )
115116 self .set_black_buffer (0 , True )
116117 self .set_color_buffer (0 , True )
0 commit comments