update epdconfig for 12.48" display

This commit is contained in:
Ace 2024-04-12 12:02:46 +02:00
parent 694ba420d9
commit 76b86afafb
4 changed files with 11 additions and 61 deletions

Binary file not shown.

Binary file not shown.

View File

@ -31,8 +31,6 @@ import os
import time
from ctypes import *
import RPi.GPIO as GPIO
EPD_SCK_PIN = 11
EPD_MOSI_PIN = 10
@ -59,20 +57,25 @@ find_dirs = [
]
spi = None
for find_dir in find_dirs:
so_filename = os.path.join(find_dir, 'epd_12_in_48_lib.so')
val = int(os.popen('getconf LONG_BIT').read())
logging.debug("System is %d bit" % val)
if val == 64:
so_filename = os.path.join(find_dir, 'epd_12_in_48_lib_64bit.so')
else:
so_filename = os.path.join(find_dir, 'epd_12_in_48_lib_32bit.so')
if os.path.exists(so_filename):
spi = CDLL(so_filename)
break
if spi is None:
RuntimeError('Cannot find epd_12_in_48_lib.so')
RuntimeError('Cannot find DEV_Config.so')
def digital_write(pin, value):
GPIO.output(pin, value)
spi.DEV_Digital_Write(pin, value)
def digital_read(pin):
return GPIO.input(pin)
return spi.DEV_Digital_Read(pin)
def spi_writebyte(value):
@ -84,68 +87,15 @@ def delay_ms(delaytime):
def module_init():
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(EPD_SCK_PIN, GPIO.OUT)
GPIO.setup(EPD_MOSI_PIN, GPIO.OUT)
logging.debug("python call wiringPi Lib")
GPIO.setup(EPD_M2S2_RST_PIN, GPIO.OUT)
GPIO.setup(EPD_M1S1_RST_PIN, GPIO.OUT)
GPIO.setup(EPD_M2S2_DC_PIN, GPIO.OUT)
GPIO.setup(EPD_M1S1_DC_PIN, GPIO.OUT)
GPIO.setup(EPD_S1_CS_PIN, GPIO.OUT)
GPIO.setup(EPD_S2_CS_PIN, GPIO.OUT)
GPIO.setup(EPD_M1_CS_PIN, GPIO.OUT)
GPIO.setup(EPD_M2_CS_PIN, GPIO.OUT)
GPIO.setup(EPD_S1_BUSY_PIN, GPIO.IN)
GPIO.setup(EPD_S2_BUSY_PIN, GPIO.IN)
GPIO.setup(EPD_M1_BUSY_PIN, GPIO.IN)
GPIO.setup(EPD_M2_BUSY_PIN, GPIO.IN)
digital_write(EPD_M1_CS_PIN, 1)
digital_write(EPD_S1_CS_PIN, 1)
digital_write(EPD_M2_CS_PIN, 1)
digital_write(EPD_S2_CS_PIN, 1)
digital_write(EPD_M2S2_RST_PIN, 0)
digital_write(EPD_M1S1_RST_PIN, 0)
digital_write(EPD_M2S2_DC_PIN, 1)
digital_write(EPD_M1S1_DC_PIN, 1)
spi.DEV_ModuleInit()
def module_exit():
digital_write(EPD_M2S2_RST_PIN, 0)
digital_write(EPD_M1S1_RST_PIN, 0)
digital_write(EPD_M2S2_DC_PIN, 0)
digital_write(EPD_M1S1_DC_PIN, 0)
digital_write(EPD_S1_CS_PIN, 1)
digital_write(EPD_S2_CS_PIN, 1)
digital_write(EPD_M1_CS_PIN, 1)
digital_write(EPD_M2_CS_PIN, 1)
spi.DEV_ModuleExit()
def spi_readbyte(Reg):
GPIO.setup(EPD_MOSI_PIN, GPIO.IN)
j = 0
# time.sleep(0.01)
for i in range(0, 8):
GPIO.output(EPD_SCK_PIN, GPIO.LOW)
# time.sleep(0.01)
j = j << 1
if (GPIO.input(EPD_MOSI_PIN) == GPIO.HIGH):
j |= 0x01
else:
j &= 0xfe
# time.sleep(0.01)
GPIO.output(EPD_SCK_PIN, GPIO.HIGH)
# time.sleep(0.01)
GPIO.setup(EPD_MOSI_PIN, GPIO.OUT)
return j
return spi.DEV_SPI_ReadByte(Reg)
def delay_ms(delaytime):