Binary file not shown.
Binary file not shown.
@@ -31,6 +31,8 @@ import os
|
||||
import time
|
||||
from ctypes import *
|
||||
|
||||
import RPi.GPIO as GPIO
|
||||
|
||||
EPD_SCK_PIN = 11
|
||||
EPD_MOSI_PIN = 10
|
||||
|
||||
@@ -71,11 +73,11 @@ if spi is None:
|
||||
|
||||
|
||||
def digital_write(pin, value):
|
||||
spi.DEV_Digital_Write(pin, value)
|
||||
GPIO.output(pin, value)
|
||||
|
||||
|
||||
def digital_read(pin):
|
||||
return spi.DEV_Digital_Read(pin)
|
||||
return GPIO.input(pin)
|
||||
|
||||
|
||||
def spi_writebyte(value):
|
||||
@@ -87,15 +89,68 @@ 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 bcm2835 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():
|
||||
spi.DEV_ModuleExit()
|
||||
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)
|
||||
|
||||
|
||||
def spi_readbyte(Reg):
|
||||
return spi.DEV_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
|
||||
|
||||
|
||||
def delay_ms(delaytime):
|
||||
|
Reference in New Issue
Block a user