37 lines
		
	
	
		
			740 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			740 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import spidev | ||
|  | import RPi.GPIO as GPIO | ||
|  | import time | ||
|  | 
 | ||
|  | # Pin definition | ||
|  | RST_PIN         = 17 | ||
|  | DC_PIN          = 25 | ||
|  | CS_PIN          = 8 | ||
|  | BUSY_PIN        = 24 | ||
|  | 
 | ||
|  | # SPI device, bus = 0, device = 0 | ||
|  | SPI = spidev.SpiDev(0, 0) | ||
|  | #SPI.no_cs = True | ||
|  | 
 | ||
|  | def epd_digital_write(pin, value): | ||
|  |     GPIO.output(pin, value) | ||
|  | 
 | ||
|  | def epd_digital_read(pin): | ||
|  |     return GPIO.input(BUSY_PIN) | ||
|  | 
 | ||
|  | def epd_delay_ms(delaytime): | ||
|  |     time.sleep(delaytime / 1000.0) | ||
|  | 
 | ||
|  | def spi_transfer(data): | ||
|  |     SPI.writebytes(data) | ||
|  | 
 | ||
|  | def epd_init(): | ||
|  |     GPIO.setmode(GPIO.BCM) | ||
|  |     GPIO.setwarnings(False) | ||
|  |     GPIO.setup(RST_PIN, GPIO.OUT) | ||
|  |     GPIO.setup(DC_PIN, GPIO.OUT) | ||
|  |     GPIO.setup(CS_PIN, GPIO.OUT) | ||
|  |     GPIO.setup(BUSY_PIN, GPIO.IN) | ||
|  |     SPI.max_speed_hz = 2000000 | ||
|  |     SPI.mode = 0b00 | ||
|  |     return 0; |