diff --git a/adafruit_epd/epd.py b/adafruit_epd/epd.py index 07492ae..fe81ed5 100644 --- a/adafruit_epd/epd.py +++ b/adafruit_epd/epd.py @@ -128,8 +128,8 @@ def display(self): # pylint: disable=too-many-branches #send read command self._buf[0] = mcp_sram.Adafruit_MCP_SRAM.SRAM_READ #send start address - self._buf[1] = self._buffer1_size >> 8 - self._buf[2] = self._buffer1_size + self._buf[1] = (self._buffer1_size >> 8) & 0xFF + self._buf[2] = self._buffer1_size & 0xFF self.spi_device.write(self._buf, end=3) self.spi_device.unlock() diff --git a/adafruit_epd/mcp_sram.py b/adafruit_epd/mcp_sram.py index bccb733..29ee4c8 100644 --- a/adafruit_epd/mcp_sram.py +++ b/adafruit_epd/mcp_sram.py @@ -71,8 +71,8 @@ def get_view(self, offset): def write(self, addr, buf, reg=SRAM_WRITE): """write the passed buffer to the passed address""" self._buf[0] = reg - self._buf[1] = addr >> 8 - self._buf[2] = addr + self._buf[1] = (addr >> 8) & 0xFF + self._buf[2] = addr & 0xFF with self._spi as spi: spi.write(self._buf, end=3) # pylint: disable=no-member @@ -81,8 +81,8 @@ def write(self, addr, buf, reg=SRAM_WRITE): def read(self, addr, length, reg=SRAM_READ): """read passed number of bytes at the passed address""" self._buf[0] = reg - self._buf[1] = addr >> 8 - self._buf[2] = addr + self._buf[1] = (addr >> 8) & 0xFF + self._buf[2] = addr & 0xFF buf = bytearray(length) with self._spi as spi: @@ -110,8 +110,8 @@ def write16(self, addr, value, reg=SRAM_WRITE): def erase(self, addr, length, value): """erase the passed number of bytes starting at the passed address""" self._buf[0] = Adafruit_MCP_SRAM.SRAM_WRITE - self._buf[1] = addr >> 8 - self._buf[2] = addr + self._buf[1] = (addr >> 8) & 0xFF + self._buf[2] = addr & 0xFF fill = bytearray([value]) with self._spi as spi: spi.write(self._buf, end=3) # pylint: disable=no-member