diff --git a/adafruit_epd/ssd1680.py b/adafruit_epd/ssd1680.py index ebcf68c..bd994b8 100644 --- a/adafruit_epd/ssd1680.py +++ b/adafruit_epd/ssd1680.py @@ -244,15 +244,30 @@ def power_up(self): self.command( _SSD1680_DRIVER_CONTROL, - bytearray([self._height - 1, (self._height - 1) >> 8, 0x00]), + bytearray([self._height, (self._height) >> 8, 0x00]), ) self.command(_SSD1680_DATA_MODE, bytearray([0x03])) - self.command(_SSD1680_SET_RAMXPOS, bytearray([0x00, (self._width // 8) - 1])) + + # Set voltages + self.command(_SSD1680_WRITE_VCOM_REG, bytearray([0x36])) + self.command(_SSD1680_GATE_VOLTAGE, bytearray([0x17])) + self.command(_SSD1680_SOURCE_VOLTAGE, bytearray([0x41, 0x00, 0x32])) + + self.command(_SSD1680_SET_RAMXPOS, bytearray([0x00, (self._width // 8)])) self.command( _SSD1680_SET_RAMYPOS, - bytearray([0x00, 0x00, self._height - 1, (self._height - 1) >> 8]), + bytearray([0x00, 0x00, self._height, (self._height) >> 8]), ) + # Set border waveform + self.command(_SSD1680_WRITE_BORDER, bytearray([0x05])) + + # Set ram X count + self.command(_SSD1680_SET_RAMXCOUNT, bytearray([0x01])) + # Set ram Y count + self.command(_SSD1680_SET_RAMYCOUNT, bytearray([self._height, 0])) + self.busy_wait() + def update(self): """Update the display specifically for SSD1680Z.""" self.command(_SSD1680_DISP_CTRL2, bytearray([0xF7])) # Full update for SSD1680Z @@ -260,3 +275,13 @@ def update(self): self.busy_wait() if not self.busy_pin: time.sleep(3) # Wait for update to complete + + def set_ram_address( + self, x: int, y: int + ) -> None: # pylint: disable=unused-argument, no-self-use + """Set the RAM address location, not used on this chipset but required by + the superclass""" + # Set RAM X address counter + self.command(_SSD1680_SET_RAMXCOUNT, bytearray([x])) + # Set RAM Y address counter + self.command(_SSD1680_SET_RAMYCOUNT, bytearray([y, y >> 8])) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy