The new version of the driver board (Rev 2.3) adds an additional PWR control power supply and updates the Rpi and STM32 programs.
This commit is contained in:
parent
716d098a86
commit
6ec0aacc43
24 changed files with 44193 additions and 86923 deletions
|
|
@ -36,6 +36,7 @@ int EPD_RST_PIN;
|
|||
int EPD_DC_PIN;
|
||||
int EPD_CS_PIN;
|
||||
int EPD_BUSY_PIN;
|
||||
int EPD_PWR_PIN;
|
||||
|
||||
/**
|
||||
* GPIO read and write
|
||||
|
|
@ -255,20 +256,24 @@ void DEV_GPIO_Init(void)
|
|||
EPD_RST_PIN = 17;
|
||||
EPD_DC_PIN = 25;
|
||||
EPD_CS_PIN = 8;
|
||||
EPD_PWR_PIN = 18;
|
||||
EPD_BUSY_PIN = 24;
|
||||
#elif JETSON
|
||||
EPD_RST_PIN = GPIO17;
|
||||
EPD_DC_PIN = GPIO25;
|
||||
EPD_CS_PIN = SPI0_CS0;
|
||||
EPD_PWR_PIN = GPIO18;
|
||||
EPD_BUSY_PIN = GPIO24;
|
||||
#endif
|
||||
|
||||
DEV_GPIO_Mode(EPD_RST_PIN, 1);
|
||||
DEV_GPIO_Mode(EPD_DC_PIN, 1);
|
||||
DEV_GPIO_Mode(EPD_CS_PIN, 1);
|
||||
DEV_GPIO_Mode(EPD_PWR_PIN, 1);
|
||||
DEV_GPIO_Mode(EPD_BUSY_PIN, 0);
|
||||
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
DEV_Digital_Write(EPD_PWR_PIN, 1);
|
||||
}
|
||||
/******************************************************************************
|
||||
function: Module Initialize, the library and initialize the pins, SPI protocol
|
||||
|
|
@ -349,6 +354,7 @@ void DEV_Module_Exit(void)
|
|||
#ifdef RPI
|
||||
#ifdef USE_BCM2835_LIB
|
||||
DEV_Digital_Write(EPD_CS_PIN, LOW);
|
||||
DEV_Digital_Write(EPD_PWR_PIN, LOW);
|
||||
DEV_Digital_Write(EPD_DC_PIN, LOW);
|
||||
DEV_Digital_Write(EPD_RST_PIN, LOW);
|
||||
|
||||
|
|
@ -356,11 +362,13 @@ void DEV_Module_Exit(void)
|
|||
bcm2835_close();
|
||||
#elif USE_WIRINGPI_LIB
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_Digital_Write(EPD_PWR_PIN, 0);
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 0);
|
||||
#elif USE_DEV_LIB
|
||||
DEV_HARDWARE_SPI_end();
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_Digital_Write(EPD_PWR_PIN, 0);
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 0);
|
||||
#endif
|
||||
|
|
@ -368,6 +376,7 @@ void DEV_Module_Exit(void)
|
|||
#elif JETSON
|
||||
#ifdef USE_DEV_LIB
|
||||
SYSFS_GPIO_Unexport(EPD_CS_PIN);
|
||||
SYSFS_GPIO_Unexport(EPD_PWR_PIN;
|
||||
SYSFS_GPIO_Unexport(EPD_DC_PIN);
|
||||
SYSFS_GPIO_Unexport(EPD_RST_PIN);
|
||||
SYSFS_GPIO_Unexport(EPD_BUSY_PIN);
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ extern int EPD_RST_PIN;
|
|||
extern int EPD_DC_PIN;
|
||||
extern int EPD_CS_PIN;
|
||||
extern int EPD_BUSY_PIN;
|
||||
extern int EPD_PWR_PIN;
|
||||
|
||||
/*------------------------------------------------------------------------------------------------------*/
|
||||
void DEV_Digital_Write(UWORD Pin, UBYTE Value);
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ class RaspberryPi:
|
|||
DC_PIN = 25
|
||||
CS_PIN = 8
|
||||
BUSY_PIN = 24
|
||||
PWR_PIN = 18
|
||||
|
||||
def __init__(self):
|
||||
import spidev
|
||||
|
|
@ -70,7 +71,10 @@ class RaspberryPi:
|
|||
self.GPIO.setup(self.RST_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.DC_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.CS_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.PWR_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.BUSY_PIN, self.GPIO.IN)
|
||||
|
||||
self.GPIO.output(self.PWR_PIN, 1)
|
||||
|
||||
# SPI device, bus = 0, device = 0
|
||||
self.SPI.open(0, 0)
|
||||
|
|
@ -85,8 +89,9 @@ class RaspberryPi:
|
|||
logger.debug("close 5V, Module enters 0 power consumption ...")
|
||||
self.GPIO.output(self.RST_PIN, 0)
|
||||
self.GPIO.output(self.DC_PIN, 0)
|
||||
self.GPIO.output(self.PWR_PIN, 0)
|
||||
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN])
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN, self.PWR_PIN])
|
||||
|
||||
|
||||
class JetsonNano:
|
||||
|
|
@ -95,6 +100,7 @@ class JetsonNano:
|
|||
DC_PIN = 25
|
||||
CS_PIN = 8
|
||||
BUSY_PIN = 24
|
||||
PWR_PIN = 18
|
||||
|
||||
def __init__(self):
|
||||
import ctypes
|
||||
|
|
@ -137,7 +143,11 @@ class JetsonNano:
|
|||
self.GPIO.setup(self.RST_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.DC_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.CS_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.PWR_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.BUSY_PIN, self.GPIO.IN)
|
||||
|
||||
self.GPIO.output(self.PWR_PIN, 1)
|
||||
|
||||
self.SPI.SYSFS_software_spi_begin()
|
||||
return 0
|
||||
|
||||
|
|
@ -148,8 +158,9 @@ class JetsonNano:
|
|||
logger.debug("close 5V, Module enters 0 power consumption ...")
|
||||
self.GPIO.output(self.RST_PIN, 0)
|
||||
self.GPIO.output(self.DC_PIN, 0)
|
||||
self.GPIO.output(self.PWR_PIN, 0)
|
||||
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN])
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN, self.PWR_PIN])
|
||||
|
||||
|
||||
class SunriseX3:
|
||||
|
|
@ -158,6 +169,7 @@ class SunriseX3:
|
|||
DC_PIN = 25
|
||||
CS_PIN = 8
|
||||
BUSY_PIN = 24
|
||||
PWR_PIN = 18
|
||||
Flag = 0
|
||||
|
||||
def __init__(self):
|
||||
|
|
@ -192,8 +204,11 @@ class SunriseX3:
|
|||
self.GPIO.setup(self.RST_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.DC_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.CS_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.PWR_PIN, self.GPIO.OUT)
|
||||
self.GPIO.setup(self.BUSY_PIN, self.GPIO.IN)
|
||||
|
||||
self.GPIO.output(self.PWR_PIN, 1)
|
||||
|
||||
# SPI device, bus = 0, device = 0
|
||||
self.SPI.open(2, 0)
|
||||
self.SPI.max_speed_hz = 4000000
|
||||
|
|
@ -210,8 +225,9 @@ class SunriseX3:
|
|||
self.Flag = 0
|
||||
self.GPIO.output(self.RST_PIN, 0)
|
||||
self.GPIO.output(self.DC_PIN, 0)
|
||||
self.GPIO.output(self.PWR_PIN, 0)
|
||||
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN])
|
||||
self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN], self.PWR_PIN)
|
||||
|
||||
|
||||
if os.path.exists('/sys/bus/platform/drivers/gpiomem-bcm2835'):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue