From a4daf4af61d27643f8f8fb94dc3baea75ee6522d Mon Sep 17 00:00:00 2001 From: "mohesh.mohan" <moheshmohan@gmail.com> Date: Thu, 12 Dec 2019 00:37:24 +0400 Subject: [PATCH] waveshare213b and waveshare213c support bug fixes --- .../ui/hw/libs/waveshare/v213bc/epd2in13bc.py | 41 +++++++++++-------- pwnagotchi/ui/hw/waveshare213bc.py | 2 +- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/pwnagotchi/ui/hw/libs/waveshare/v213bc/epd2in13bc.py b/pwnagotchi/ui/hw/libs/waveshare/v213bc/epd2in13bc.py index 864d8c5..1d321eb 100644 --- a/pwnagotchi/ui/hw/libs/waveshare/v213bc/epd2in13bc.py +++ b/pwnagotchi/ui/hw/libs/waveshare/v213bc/epd2in13bc.py @@ -46,11 +46,11 @@ class EPD: # Hardware reset def reset(self): epdconfig.digital_write(self.reset_pin, 1) - epdconfig.delay_ms(200) + epdconfig.delay_ms(200) epdconfig.digital_write(self.reset_pin, 0) epdconfig.delay_ms(10) epdconfig.digital_write(self.reset_pin, 1) - epdconfig.delay_ms(200) + epdconfig.delay_ms(200) def send_command(self, command): epdconfig.digital_write(self.dc_pin, 0) @@ -63,7 +63,7 @@ class EPD: epdconfig.digital_write(self.cs_pin, 0) epdconfig.spi_writebyte([data]) epdconfig.digital_write(self.cs_pin, 1) - + def ReadBusy(self): logging.debug("e-Paper busy") while(epdconfig.digital_read(self.busy_pin) == 0): # 0: idle, 1: busy @@ -73,23 +73,23 @@ class EPD: def init(self): if (epdconfig.module_init() != 0): return -1 - + self.reset() self.send_command(0x06) # BOOSTER_SOFT_START self.send_data(0x17) self.send_data(0x17) self.send_data(0x17) - + self.send_command(0x04) # POWER_ON self.ReadBusy() - + self.send_command(0x00) # PANEL_SETTING self.send_data(0x8F) - + self.send_command(0x50) # VCOM_AND_DATA_INTERVAL_SETTING self.send_data(0xF0) - + self.send_command(0x61) # RESOLUTION_SETTING self.send_data(self.width & 0xff) self.send_data(self.height >> 8) @@ -125,26 +125,36 @@ class EPD: for i in range(0, int(self.width * self.height / 8)): self.send_data(imageblack[i]) self.send_command(0x92) - + self.send_command(0x13) for i in range(0, int(self.width * self.height / 8)): self.send_data(imagered[i]) self.send_command(0x92) - + self.send_command(0x12) # REFRESH self.ReadBusy() - + + def pwndisplay(self, imageblack): + self.send_command(0x10) + for i in range(0, int(self.width * self.height / 8)): + self.send_data(imageblack[i]) + self.send_command(0x92) + + self.send_command(0x12) # REFRESH + self.ReadBusy() + + def Clear(self): self.send_command(0x10) for i in range(0, int(self.width * self.height / 8)): self.send_data(0xFF) - self.send_command(0x92) - + self.send_command(0x92) + self.send_command(0x13) for i in range(0, int(self.width * self.height / 8)): self.send_data(0xFF) self.send_command(0x92) - + self.send_command(0x12) # REFRESH self.ReadBusy() @@ -153,7 +163,6 @@ class EPD: self.ReadBusy() self.send_command(0x07) # DEEP_SLEEP self.send_data(0xA5) # check code - + epdconfig.module_exit() ### END OF FILE ### - diff --git a/pwnagotchi/ui/hw/waveshare213bc.py b/pwnagotchi/ui/hw/waveshare213bc.py index 6ceebb7..81b5770 100644 --- a/pwnagotchi/ui/hw/waveshare213bc.py +++ b/pwnagotchi/ui/hw/waveshare213bc.py @@ -42,7 +42,7 @@ class Waveshare213bc(DisplayImpl): def render(self, canvas): buf = self._display.getbuffer(canvas) - self._display.display(buf) + self._display.pwndisplay(buf) def clear(self): #pass