From 166c012cdeb3bee49f59780c7764daa076aea343 Mon Sep 17 00:00:00 2001 From: shhds <1873145421@qq.com> Date: Tue, 26 Dec 2023 19:58:45 +0800 Subject: [PATCH 1/3] Fixed some python3 runtime error issues --- .../__pycache__/epd2in13g.cpython-37.pyc | Bin 0 -> 4991 bytes .../python/lib/waveshare_epd/epd1in02.py | 18 +- .../python/lib/waveshare_epd/epd2in13g.py | 4 +- .../python/lib/waveshare_epd/epd2in13g.pyc | Bin 0 -> 6704 bytes .../python/lib/waveshare_epd/epd2in9_V2.pyc | Bin 14275 -> 14265 bytes .../python/lib/waveshare_epd/epd2in9b_V4.py | 2 +- .../python/lib/waveshare_epd/epd7in5_HD.py | 84 +++--- .../python/lib/waveshare_epd/epd7in5_V2.py | 2 +- .../lib/waveshare_epd/epd7in5_V2_fast.py | 278 ------------------ .../lib/waveshare_epd/epd7in5_V2_old.py | 2 +- .../python/lib/waveshare_epd/epd7in5b_HD.py | 146 ++++----- .../python/lib/waveshare_epd/epd7in5b_V2.pyc | Bin 0 -> 5403 bytes 12 files changed, 129 insertions(+), 407 deletions(-) create mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc create mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in13g.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_fast.py create mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6aa5cf7befd7952eb36cb20f20f339a1e18fc5a9 GIT binary patch literal 4991 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 H9=HDk`sM7x literal 0 HcmV?d00001 diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc index c003b70b88a022eb76980e318e7c665e141eb115..e110b80a6b5d2c88bc7ecbc0723c48722e95c2fa 100644 GIT binary patch delta 505 zcmZ9|yG}wu5C-6X^}rDjLF6I|iXK!1@8YF27TRlfVj;;S#)?O<;Q=t`0ek}zLuGAD zd<-jlV`<~ePt?R@^XJQEcV>5`q8XDbRw9ybpN^%h$=dr~lJ zr~Yu~UKLW+BJWY(<*d-c|3Y`8LW?Yl@4xTz&um delta 485 zcmY+AyG{a85QhK5uDdRX7hplIqM)KE;$1sKjJ8I*jfEtW7%Sov*zf?Dt-X|1B!;eDi(o(7GAvY;p^hsy^9e4OGD6_Z!~`?oo^ z3!nnu{0w_05if#DAV+H^ymm4-WqoBRe0orN({89G6t%t z#6e3cNaR0RFOYwWlF E2j8w+UH||9 diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py index d202466a8..acaf1b756 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py @@ -185,7 +185,7 @@ def init_Fast(self): self.send_command(0x01) #Driver output control self.send_data((self.height-1)%256) - self.send_data((self.height-1)/256) + self.send_data((self.height-1)//256) self.send_data(0x00) self.send_command(0x11) #data entry mode diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_HD.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_HD.py index 908d036d7..55070dd03 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_HD.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_HD.py @@ -86,46 +86,46 @@ def init(self): # EPD hardware init start self.reset() - self.ReadBusy(); - self.send_command(0x12); #SWRESET - self.ReadBusy(); - - self.send_command(0x46); # Auto Write Red RAM - self.send_data(0xf7); - self.ReadBusy(); - self.send_command(0x47); # Auto Write B/W RAM - self.send_data(0xf7); - self.ReadBusy(); - - self.send_command(0x0C); # Soft start setting + self.ReadBusy() + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x46) # Auto Write Red RAM + self.send_data(0xf7) + self.ReadBusy() + self.send_command(0x47) # Auto Write B/W RAM + self.send_data(0xf7) + self.ReadBusy() + + self.send_command(0x0C) # Soft start setting self.send_data2([0xAE, 0xC7, 0xC3, 0xC0, 0x40]) - self.send_command(0x01); # Set MUX as 527 + self.send_command(0x01) # Set MUX as 527 self.send_data2([0xAF, 0x02, 0x01]) - self.send_command(0x11); # Data entry mode - self.send_data(0x01); + self.send_command(0x11) # Data entry mode + self.send_data(0x01) - self.send_command(0x44); + self.send_command(0x44) self.send_data2([0x00, 0x00, 0x6F, 0x03]) # RAM x address start at 0 - self.send_command(0x45); + self.send_command(0x45) self.send_data2([0xAF, 0x02, 0x00, 0x00]) - self.send_command(0x3C); # VBD - self.send_data(0x05); # LUT1, for white + self.send_command(0x3C) # VBD + self.send_data(0x05) # LUT1, for white - self.send_command(0x18); - self.send_data(0X80); + self.send_command(0x18) + self.send_data(0X80) - self.send_command(0x22); - self.send_data(0XB1); #Load Temperature and waveform setting. - self.send_command(0x20); - self.ReadBusy(); + self.send_command(0x22) + self.send_data(0XB1) #Load Temperature and waveform setting. + self.send_command(0x20) + self.ReadBusy() - self.send_command(0x4E); # set RAM x address count to 0; + self.send_command(0x4E) # set RAM x address count to 0 self.send_data2([0x00, 0x00]) - self.send_command(0x4F); + self.send_command(0x4F) self.send_data2([0x00, 0x00]) # EPD hardware init end return 0 @@ -146,19 +146,19 @@ def getbuffer(self, image): return buf def display(self, image): - self.send_command(0x4F); + self.send_command(0x4F) self.send_data2([0x00, 0x00]) - self.send_command(0x24); + self.send_command(0x24) self.send_data2(image) - self.send_command(0x22); - self.send_data(0xF7);#Load LUT from MCU(0x32) - self.send_command(0x20); - epdconfig.delay_ms(10); - self.ReadBusy(); + self.send_command(0x22) + self.send_data(0xF7)#Load LUT from MCU(0x32) + self.send_command(0x20) + epdconfig.delay_ms(10) + self.ReadBusy() def Clear(self): buf = [0xff] * int(self.width * self.height / 8) - self.send_command(0x4F); + self.send_command(0x4F) self.send_data2([0x00, 0x00]) self.send_command(0x24) self.send_data2(buf) @@ -166,15 +166,15 @@ def Clear(self): self.send_command(0x26) self.send_data2(buf) - self.send_command(0x22); - self.send_data(0xF7);#Load LUT from MCU(0x32) - self.send_command(0x20); - epdconfig.delay_ms(10); - self.ReadBusy(); + self.send_command(0x22) + self.send_data(0xF7)#Load LUT from MCU(0x32) + self.send_command(0x20) + epdconfig.delay_ms(10) + self.ReadBusy() def sleep(self): - self.send_command(0x10); - self.send_data(0x01); + self.send_command(0x10) + self.send_data(0x01) epdconfig.delay_ms(2000) epdconfig.module_exit() diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py index c8c8c485c..cc4fc3402 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py @@ -241,7 +241,7 @@ def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): else: Xend = Xend // 8 * 8 + 1 - Width = (Xend - Xstart) / 8 + Width = (Xend - Xstart) // 8 Height = Yend - Ystart self.send_command(0x50) diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_fast.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_fast.py deleted file mode 100644 index e1e163b8b..000000000 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_fast.py +++ /dev/null @@ -1,278 +0,0 @@ -# ***************************************************************************** -# * | File : epd7in5.py -# * | Author : Waveshare team -# * | Function : Electronic paper driver -# * | Info : -# *---------------- -# * | This version: V4.0 -# * | Date : 2019-06-20 -# # | Info : python demo -# ----------------------------------------------------------------------------- -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documnetation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# - - -import logging -from . import epdconfig - -# Display resolution -EPD_WIDTH = 800 -EPD_HEIGHT = 480 - -logger = logging.getLogger(__name__) - -class EPD: - def __init__(self): - self.reset_pin = epdconfig.RST_PIN - self.dc_pin = epdconfig.DC_PIN - self.busy_pin = epdconfig.BUSY_PIN - self.cs_pin = epdconfig.CS_PIN - self.width = EPD_WIDTH - self.height = EPD_HEIGHT - - Voltage_Frame_7IN5_V2 = [ - 0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17, - ] - - LUT_VCOM_7IN5_V2 = [ - 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0xF, 0x1, 0xF, 0x1, 0x2, - 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - ] - - LUT_WW_7IN5_V2 = [ - 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, - 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - ] - - LUT_BW_7IN5_V2 = [ - 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, - 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - ] - - LUT_WB_7IN5_V2 = [ - 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, - 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - ] - - LUT_BB_7IN5_V2 = [ - 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, - 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - ] - - # Hardware reset - def reset(self): - epdconfig.digital_write(self.reset_pin, 1) - epdconfig.delay_ms(20) - epdconfig.digital_write(self.reset_pin, 0) - epdconfig.delay_ms(2) - epdconfig.digital_write(self.reset_pin, 1) - epdconfig.delay_ms(20) - - def send_command(self, command): - epdconfig.digital_write(self.dc_pin, 0) - epdconfig.digital_write(self.cs_pin, 0) - epdconfig.spi_writebyte([command]) - epdconfig.digital_write(self.cs_pin, 1) - - def send_data(self, data): - epdconfig.digital_write(self.dc_pin, 1) - epdconfig.digital_write(self.cs_pin, 0) - epdconfig.spi_writebyte([data]) - epdconfig.digital_write(self.cs_pin, 1) - - def send_data2(self, data): - epdconfig.digital_write(self.dc_pin, 1) - epdconfig.digital_write(self.cs_pin, 0) - epdconfig.spi_writebyte2(data) - epdconfig.digital_write(self.cs_pin, 1) - - def ReadBusy(self): - logger.debug("e-Paper busy") - self.send_command(0x71) - busy = epdconfig.digital_read(self.busy_pin) - while(busy == 0): - self.send_command(0x71) - busy = epdconfig.digital_read(self.busy_pin) - epdconfig.delay_ms(20) - logger.debug("e-Paper busy release") - - def SetLut(self, lut_vcom, lut_ww, lut_bw, lut_wb, lut_bb): - self.send_command(0x20) - for count in range(0, 42): - self.send_data(lut_vcom[count]) - - self.send_command(0x21) - for count in range(0, 42): - self.send_data(lut_ww[count]) - - self.send_command(0x22) - for count in range(0, 42): - self.send_data(lut_bw[count]) - - self.send_command(0x23) - for count in range(0, 42): - self.send_data(lut_wb[count]) - - self.send_command(0x24) - for count in range(0, 42): - self.send_data(lut_bb[count]) - - def init(self): - if (epdconfig.module_init() != 0): - return -1 - # EPD hardware init start - self.reset() - - # self.send_command(0x06) # btst - # self.send_data(0x17) - # self.send_data(0x17) - # self.send_data(0x28) # If an exception is displayed, try using 0x38 - # self.send_data(0x17) - - # self.send_command(0x01) #POWER SETTING - # self.send_data(0x07) - # self.send_data(0x07) #VGH=20V,VGL=-20V - # self.send_data(0x3f) #VDH=15V - # self.send_data(0x3f) #VDL=-15V - - self.send_command(0x01) # power setting - self.send_data(0x17) # 1-0=11: internal power - self.send_data(self.Voltage_Frame_7IN5_V2[6]) # VGH&VGL - self.send_data(self.Voltage_Frame_7IN5_V2[1]) # VSH - self.send_data(self.Voltage_Frame_7IN5_V2[2]) # VSL - self.send_data(self.Voltage_Frame_7IN5_V2[3]) # VSHR - - self.send_command(0x82) # VCOM DC Setting - self.send_data(self.Voltage_Frame_7IN5_V2[4]) # VCOM - - self.send_command(0x06) # Booster Setting - self.send_data(0x27) - self.send_data(0x27) - self.send_data(0x2F) - self.send_data(0x17) - - self.send_command(0x30) # OSC Setting - self.send_data(self.Voltage_Frame_7IN5_V2[0]) # 3C=50Hz, 3A=100HZ - - self.send_command(0x04) # POWER ON - epdconfig.delay_ms(100) - self.ReadBusy() - - self.send_command(0X00) # PANNEL SETTING - self.send_data(0x3F) # KW-3f KWR-2F BWROTP-0f BWOTP-1f - - self.send_command(0x61) # tres - self.send_data(0x03) # source 800 - self.send_data(0x20) - self.send_data(0x01) # gate 480 - self.send_data(0xE0) - - self.send_command(0X15) - self.send_data(0x00) - - self.send_command(0X50) # VCOM AND DATA INTERVAL SETTING - self.send_data(0x10) - self.send_data(0x07) - - self.send_command(0X60) # TCON SETTING - self.send_data(0x22) - - self.send_command(0x65) # Resolution setting - self.send_data(0x00) - self.send_data(0x00) # 800*480 - self.send_data(0x00) - self.send_data(0x00) - - self.SetLut(self.LUT_VCOM_7IN5_V2, self.LUT_WW_7IN5_V2, self.LUT_BW_7IN5_V2, self.LUT_WB_7IN5_V2, self.LUT_BB_7IN5_V2) - # EPD hardware init end - return 0 - - def getbuffer(self, image): - img = image - imwidth, imheight = img.size - if(imwidth == self.width and imheight == self.height): - img = img.convert('1') - elif(imwidth == self.height and imheight == self.width): - # image has correct dimensions, but needs to be rotated - img = img.rotate(90, expand=True).convert('1') - else: - logger.warning("Wrong image dimensions: must be " + str(self.width) + "x" + str(self.height)) - # return a blank buffer - return [0x00] * (int(self.width/8) * self.height) - - buf = bytearray(img.tobytes('raw')) - # The bytes need to be inverted, because in the PIL world 0=black and 1=white, but - # in the e-paper world 0=white and 1=black. - for i in range(len(buf)): - buf[i] ^= 0xFF - return buf - - def display(self, image): - self.send_command(0x13) - self.send_data2(image) - - self.send_command(0x12) - epdconfig.delay_ms(100) - self.ReadBusy() - - def Clear(self): - buf = [0x00] * (int(self.width/8) * self.height) - self.send_command(0x10) - self.send_data2(buf) - self.send_command(0x13) - self.send_data2(buf) - self.send_command(0x12) - epdconfig.delay_ms(100) - self.ReadBusy() - - def sleep(self): - self.send_command(0x02) # POWER_OFF - self.ReadBusy() - - self.send_command(0x07) # DEEP_SLEEP - self.send_data(0XA5) - - epdconfig.delay_ms(2000) - epdconfig.module_exit() -### END OF FILE ### diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py index fc76158d0..280ab478f 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py @@ -484,7 +484,7 @@ def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): else: Xend = Xend // 8 * 8 + 1 - Width = (Xend - Xstart) / 8 + Width = (Xend - Xstart) // 8 Height = Yend - Ystart self.send_command(0x50) diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_HD.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_HD.py index 89f797964..4321d9cfd 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_HD.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_HD.py @@ -80,59 +80,59 @@ def init(self): self.reset() - self.send_command(0x12); #SWRESET - self.ReadBusy(); #waiting for the electronic paper IC to release the idle signal - - self.send_command(0x46); # Auto Write RAM - self.send_data(0xF7); - self.ReadBusy(); #waiting for the electronic paper IC to release the idle signal - - self.send_command(0x47); # Auto Write RAM - self.send_data(0xF7); - self.ReadBusy(); #waiting for the electronic paper IC to release the idle signal - - self.send_command(0x0C); # Soft start setting - self.send_data(0xAE); - self.send_data(0xC7); - self.send_data(0xC3); - self.send_data(0xC0); - self.send_data(0x40); - - self.send_command(0x01); # Set MUX as 527 - self.send_data(0xAF); - self.send_data(0x02); - self.send_data(0x01); - - self.send_command(0x11); # Data entry mode - self.send_data(0x01); - - self.send_command(0x44); - self.send_data(0x00); # RAM x address start at 0 - self.send_data(0x00); - self.send_data(0x6F); # RAM x address end at 36Fh -> 879 - self.send_data(0x03); - self.send_command(0x45); - self.send_data(0xAF); # RAM y address start at 20Fh; - self.send_data(0x02); - self.send_data(0x00); # RAM y address end at 00h; - self.send_data(0x00); - - self.send_command(0x3C); # VBD - self.send_data(0x01); # LUT1, for white - - self.send_command(0x18); - self.send_data(0X80); - self.send_command(0x22); - self.send_data(0XB1); #Load Temperature and waveform setting. - self.send_command(0x20); - self.ReadBusy(); #waiting for the electronic paper IC to release the idle signal - - self.send_command(0x4E); - self.send_data(0x00); - self.send_data(0x00); - self.send_command(0x4F); - self.send_data(0xAF); - self.send_data(0x02); + self.send_command(0x12) #SWRESET + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + self.send_command(0x46) # Auto Write RAM + self.send_data(0xF7) + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + self.send_command(0x47) # Auto Write RAM + self.send_data(0xF7) + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + self.send_command(0x0C) # Soft start setting + self.send_data(0xAE) + self.send_data(0xC7) + self.send_data(0xC3) + self.send_data(0xC0) + self.send_data(0x40) + + self.send_command(0x01) # Set MUX as 527 + self.send_data(0xAF) + self.send_data(0x02) + self.send_data(0x01) + + self.send_command(0x11) # Data entry mode + self.send_data(0x01) + + self.send_command(0x44) + self.send_data(0x00) # RAM x address start at 0 + self.send_data(0x00) + self.send_data(0x6F) # RAM x address end at 36Fh -> 879 + self.send_data(0x03) + self.send_command(0x45) + self.send_data(0xAF) # RAM y address start at 20Fh + self.send_data(0x02) + self.send_data(0x00) # RAM y address end at 00h + self.send_data(0x00) + + self.send_command(0x3C) # VBD + self.send_data(0x01) # LUT1, for white + + self.send_command(0x18) + self.send_data(0X80) + self.send_command(0x22) + self.send_data(0XB1) #Load Temperature and waveform setting. + self.send_command(0x20) + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + self.send_command(0x4E) + self.send_data(0x00) + self.send_data(0x00) + self.send_command(0x4F) + self.send_data(0xAF) + self.send_data(0x02) return 0 @@ -161,46 +161,46 @@ def getbuffer(self, image): return buf def display(self, imageblack, imagered): - self.send_command(0x4F); - self.send_data(0xAf); + self.send_command(0x4F) + self.send_data(0xAf) self.send_command(0x24) for i in range(0, int(self.width * self.height / 8)): - self.send_data(imageblack[i]); + self.send_data(imageblack[i]) self.send_command(0x26) for i in range(0, int(self.width * self.height / 8)): - self.send_data(~imagered[i]); + self.send_data(~imagered[i]) - self.send_command(0x22); - self.send_data(0xC7); #Load LUT from MCU(0x32) - self.send_command(0x20); - epdconfig.delay_ms(200); #!!!The delay here is necessary, 200uS at least!!! - self.ReadBusy(); + self.send_command(0x22) + self.send_data(0xC7) #Load LUT from MCU(0x32) + self.send_command(0x20) + epdconfig.delay_ms(200) #!!!The delay here is necessary, 200uS at least!!! + self.ReadBusy() def Clear(self): - self.send_command(0x4F); - self.send_data(0xAf); + self.send_command(0x4F) + self.send_data(0xAf) self.send_command(0x24) for i in range(0, int(self.width * self.height / 8)): - self.send_data(0xff); + self.send_data(0xff) self.send_command(0x26) for i in range(0, int(self.width * self.height / 8)): - self.send_data(0x00); + self.send_data(0x00) - self.send_command(0x22); - self.send_data(0xC7); #Load LUT from MCU(0x32) - self.send_command(0x20); - epdconfig.delay_ms(200); #!!!The delay here is necessary, 200uS at least!!! - self.ReadBusy(); + self.send_command(0x22) + self.send_data(0xC7) #Load LUT from MCU(0x32) + self.send_command(0x20) + epdconfig.delay_ms(200) #!!!The delay here is necessary, 200uS at least!!! + self.ReadBusy() def sleep(self): - self.send_command(0x10); #deep sleep - self.send_data(0x01); + self.send_command(0x10) #deep sleep + self.send_data(0x01) epdconfig.delay_ms(2000) epdconfig.module_exit() diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db92a42ef82bb5f6fcb4f98f28e1e0d508499a59 GIT binary patch literal 5403 zcmcgwUvC>#7QZugoY+m;(xxrtp}6~G7A=MdcC{@3)U-=m6)PGSDxyWRW6zCqQ+w>r zosa}2(n>*E@fpzW8xMSe{R}+v5%>l?An^*n-?`%%J1hkunK*NN&OLYTy>rg*{25oi zTWh@hpKtqpmH$=n{SGeM0g3VNsi9KaV0;x<)X-BSUv2x!i>qq8qT(gBT~%7Cy(Oh< z>eN%)%POv^ctyp_>QkjomHKcSf~UHzI+ip);ICsmuq~2|gL)G8$H|Tvm?ri&-$0S^ zAa}NI_wglvoO}zHeGGyPw>=&YJK!)_oeYlS3sdD$IkKeUsxUawk}z^Qs-_3ruJf=Q zX{fj^%sCY|gjrQVw{;Ht^|?DQAJ-->`*)BGkL{^rr9xl$ittt8mxQkgzbyO;pOupv zDmy34DxaV$X6UrmuwZ~oWy|Ec55ui{9kEWTtL#WHtx&l3fNokcR!SI z3cY=MRLtM(7W4a7MrmFG2*+A`sNo!N2HiIQ=9a+K|kllIW` z+6U3c+U`cF4&nPYuD_V%wO;ta#!HyQX9z=+m@Eum0B=`8l((9H>R#avf<)W_LzeE? z6GWT>r1X%W0>BhO+(msw&FHHH?!4Zc)%&6sXVF{^zUC{i2A484O^d`ikgkjY<}4b9 z2dT+)z;nuD#d;VWg(E8_4bJmET#Gd)k1QD40F&GDvbW~Bt4~PtDs1^4gaX?0wshu$ zMN9Kk)v>1rkmoGujLtMcgmdYRGZllV#S@9Cf{WxtBq}pn&Q6T8TJI>+EuKv5Bw^7X zk48}vFWzQEoYhGj<~zPlnYdIi+hy;f_uI?{Amyn1S+hCI&X|oB6Wjf)*@DZMGGi$s zF^;lm@n)ja#7x}o9STpk(S1z$C1{L>C4ajV>9XKJEcSQh1>}@zi0Pk%+|h*jMRCqI$~gCvEkJ zYoIXBWS$#9rLmgS&Vi}VnG8_*EI+a2b z>)!q#xB`vKlnk?Jrc8Ad2U7c@e>xBSKV^%mfE6km8wa{RJwL-uGhO;$TV)?|EK!HS+aFz3CpF5) zH3hp|M-X)?Z#?;4J;GSG#k}6hm=j(xcujICPajUurr0LrN9i~jG|ea)=w@t2Iq*eVa9Vx+%9Fx`fL7BQHK_bYOmf&|=||1Zd4CIw0}__DFd%lzfc5DmgYCXHlkQ z=EHPf2hU9>9Ykqjl7XyhvsAwECLu2tY_OsBadfV&@8seWha6oW5*qx{u_dQmV0_NcOlG19~$@L#qap0ZHHP<{)aQ|i3s5q^s7ujZ*v37_obRwuh&=VHTg8^uhiG; z=j&_kBuvFp7ufi-_CU^46Vp(@reEq0^7R9GHwf6VNX;sCnR%)OJ&<_f4QKnep2qt0 literal 0 HcmV?d00001 From 6db502f3dd3a8a5760ea127cf1d142195165f64c Mon Sep 17 00:00:00 2001 From: shhds <1873145421@qq.com> Date: Tue, 26 Dec 2023 19:59:37 +0800 Subject: [PATCH 2/3] Fixed some python3 runtime error issues --- .../python/lib/waveshare_epd/__init__.pyc | Bin 166 -> 0 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 185 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 166 -> 0 bytes .../__pycache__/epd2in13_V4.cpython-311.pyc | Bin 13710 -> 0 bytes .../__pycache__/epd2in13g.cpython-37.pyc | Bin 4991 -> 0 bytes .../__pycache__/epd2in9_V2.cpython-37.pyc | Bin 10567 -> 0 bytes .../__pycache__/epdconfig.cpython-311.pyc | Bin 14405 -> 0 bytes .../__pycache__/epdconfig.cpython-37.pyc | Bin 7394 -> 0 bytes .../python/lib/waveshare_epd/epd2in13g.pyc | Bin 6704 -> 0 bytes .../python/lib/waveshare_epd/epd2in9_V2.pyc | Bin 14265 -> 0 bytes .../python/lib/waveshare_epd/epd7in5_V2.pyc | Bin 8234 -> 0 bytes .../python/lib/waveshare_epd/epd7in5_V2_old.pyc | Bin 12407 -> 0 bytes .../python/lib/waveshare_epd/epd7in5b_V2.pyc | Bin 5403 -> 0 bytes .../python/lib/waveshare_epd/epdconfig.pyc | Bin 10076 -> 0 bytes 14 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-311.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13_V4.cpython-311.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in9_V2.cpython-37.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-311.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in13g.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc delete mode 100644 RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc deleted file mode 100644 index 5df3fabc2414b06e7d60a9c07df01456b0b93087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmZ9FK?=e!5Je-p5W#zNqjP~Gt_5q+0}N9$kU*P+OjNS;%wE7LxN_jX51-HcLDm=Z1BnmJjEsyQ7+^#ZGf)fw DEjuq> diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 6be821bfc73b3e2106ba38381b38ab23bd0e9cac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 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 diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in13g.cpython-37.pyc deleted file mode 100644 index 6aa5cf7befd7952eb36cb20f20f339a1e18fc5a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4991 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 Zk$+qt^~*CDArg*oJ>|k}#Xl$K{2##v6hHs~ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-311.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-311.pyc deleted file mode 100644 index 1eab45ac223d89c6c55cca30f43c012a35450f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14405 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 HL~8yAMTwIj diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc deleted file mode 100644 index 7c81bb4b3b170072e54185674c199564b9b92bba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7394 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 TYKt-{P)9<*Ld()jZAJYL%B&H} diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in13g.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in13g.pyc deleted file mode 100644 index a203cf776f4e145bc220bb5e7b03e0a38f16c6ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6704 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 H9=HDk`sM7x diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc deleted file mode 100644 index e110b80a6b5d2c88bc7ecbc0723c48722e95c2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14265 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 G$NnGE&#Scn diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc deleted file mode 100644 index 4bb5add731fb497c698e9eb694b57f0da8bd6b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8234 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 UwDKlJpKx;%&P<`?l-z0ezrU-|a{vGU diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc deleted file mode 100644 index c19eeb46e929b98f20237b6a6af99c09239cb852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12407 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 YqAzM0{t69gzy%IkCo;WOuYKJ94_{GU3;+NC diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.pyc deleted file mode 100644 index db92a42ef82bb5f6fcb4f98f28e1e0d508499a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5403 zcmcgwUvC>#7QZugoY+m;(xxrtp}6~G7A=MdcC{@3)U-=m6)PGSDxyWRW6zCqQ+w>r zosa}2(n>*E@fpzW8xMSe{R}+v5%>l?An^*n-?`%%J1hkunK*NN&OLYTy>rg*{25oi zTWh@hpKtqpmH$=n{SGeM0g3VNsi9KaV0;x<)X-BSUv2x!i>qq8qT(gBT~%7Cy(Oh< z>eN%)%POv^ctyp_>QkjomHKcSf~UHzI+ip);ICsmuq~2|gL)G8$H|Tvm?ri&-$0S^ zAa}NI_wglvoO}zHeGGyPw>=&YJK!)_oeYlS3sdD$IkKeUsxUawk}z^Qs-_3ruJf=Q zX{fj^%sCY|gjrQVw{;Ht^|?DQAJ-->`*)BGkL{^rr9xl$ittt8mxQkgzbyO;pOupv zDmy34DxaV$X6UrmuwZ~oWy|Ec55ui{9kEWTtL#WHtx&l3fNokcR!SI z3cY=MRLtM(7W4a7MrmFG2*+A`sNo!N2HiIQ=9a+K|kllIW` z+6U3c+U`cF4&nPYuD_V%wO;ta#!HyQX9z=+m@Eum0B=`8l((9H>R#avf<)W_LzeE? z6GWT>r1X%W0>BhO+(msw&FHHH?!4Zc)%&6sXVF{^zUC{i2A484O^d`ikgkjY<}4b9 z2dT+)z;nuD#d;VWg(E8_4bJmET#Gd)k1QD40F&GDvbW~Bt4~PtDs1^4gaX?0wshu$ zMN9Kk)v>1rkmoGujLtMcgmdYRGZllV#S@9Cf{WxtBq}pn&Q6T8TJI>+EuKv5Bw^7X zk48}vFWzQEoYhGj<~zPlnYdIi+hy;f_uI?{Amyn1S+hCI&X|oB6Wjf)*@DZMGGi$s zF^;lm@n)ja#7x}o9STpk(S1z$C1{L>C4ajV>9XKJEcSQh1>}@zi0Pk%+|h*jMRCqI$~gCvEkJ zYoIXBWS$#9rLmgS&Vi}VnG8_*EI+a2b z>)!q#xB`vKlnk?Jrc8Ad2U7c@e>xBSKV^%mfE6km8wa{RJwL-uGhO;$TV)?|EK!HS+aFz3CpF5) zH3hp|M-X)?Z#?;4J;GSG#k}6hm=j(xcujICPajUurr0LrN9i~jG|ea)=w@t2Iq*eVa9Vx+%9Fx`fL7BQHK_bYOmf&|=||1Zd4CIw0}__DFd%lzfc5DmgYCXHlkQ z=EHPf2hU9>9Ykqjl7XyhvsAwECLu2tY_OsBadfV&@8seWha6oW5*qx{u_dQmV0_NcOlG19~$@L#qap0ZHHP<{)aQ|i3s5q^s7ujZ*v37_obRwuh&=VHTg8^uhiG; z=j&_kBuvFp7ufi-_CU^46Vp(@reEq0^7R9GHwf6VNX;sCnR%)OJ&<_f4QKnep2qt0 diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc deleted file mode 100644 index 6865707281da228f79cdf54cce3a4c0ce7944275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10076 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 From 70612d0d31d69914851ac220cbb3c8d6da08361b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=B2=5F=C3=B3?= Date: Sat, 10 Feb 2024 16:31:58 +0100 Subject: [PATCH 3/3] Derive settings from provided display dimensions in epd7in5b_V2.py --- .../python/lib/waveshare_epd/epd7in5b_V2.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.py index 80140bc0d..458e2a66f 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5b_V2.py @@ -109,10 +109,10 @@ def init(self): self.send_data(0x0F) # KW-3f KWR-2F BWROTP-0f BWOTP-1f self.send_command(0x61) # tres - self.send_data(0x03) # source 800 - self.send_data(0x20) - self.send_data(0x01) # gate 480 - self.send_data(0xE0) + self.send_data(self.width%256) # source 800 + self.send_data(self.width//256) + self.send_data(self.height%256) # gate 480 + self.send_data(self.height//256) self.send_command(0X15) self.send_data(0x00)