| 
									
										
										
										
											2020-06-18 16:21:53 +02:00
										 |  |  | #!/usr/bin/python3 | 
					
						
							|  |  |  | # -*- coding: utf-8 -*- | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | 9.7" driver class | 
					
						
							|  |  |  | Copyright by aceisace | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | from inkycal.custom import images, top_level | 
					
						
							|  |  |  | from subprocess import call, run | 
					
						
							|  |  |  | from os import chdir | 
					
						
							|  |  |  | from PIL import Image | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Display resolution | 
					
						
							|  |  |  | EPD_WIDTH       = 1200 | 
					
						
							|  |  |  | EPD_HEIGHT      = 825 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | driver_dir = top_level+'/inkycal/display/drivers/9_in_7_drivers/' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EPD: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def __init__(self): | 
					
						
							|  |  |  |     """9.7" epaper class""" | 
					
						
							|  |  |  |     with open(driver_dir+'setup_state.txt', 'r') as file: | 
					
						
							|  |  |  |       setup_state = int(file.readline().rstrip()) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if setup_state == 0: | 
					
						
							|  |  |  |       print('installing additional drivers...') | 
					
						
							|  |  |  |       self.setup() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def init(self): | 
					
						
							|  |  |  |     pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def display(self, command): | 
					
						
							|  |  |  |     """displays an image""" | 
					
						
							|  |  |  |     try: | 
					
						
							|  |  |  |       run_command = command.split() | 
					
						
							|  |  |  |       run(run_command) | 
					
						
							|  |  |  |     except: | 
					
						
							|  |  |  |       print("oops, something didn't work right :/") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def getbuffer(self, image): | 
					
						
							|  |  |  |     """ad-hoc""" | 
					
						
							| 
									
										
										
										
											2020-12-05 00:23:09 +01:00
										 |  |  |     image = image.rotate(90, expand=True) | 
					
						
							| 
									
										
										
										
											2020-06-18 16:21:53 +02:00
										 |  |  |     image.convert('RGB').save(images+'canvas.bmp', 'BMP') | 
					
						
							|  |  |  |     command = 'sudo {}IT8951/IT8951 0 0 {}'.format(driver_dir, images+'canvas.bmp') | 
					
						
							| 
									
										
										
										
											2020-12-05 00:23:09 +01:00
										 |  |  |     #print(command) | 
					
						
							| 
									
										
										
										
											2020-06-18 16:21:53 +02:00
										 |  |  |     return command | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def setup(self): | 
					
						
							|  |  |  |     """Runs the required setup for 9.7" epaper displays""" | 
					
						
							|  |  |  |     run(["chmod", "+x", driver_dir+"install.sh"]) | 
					
						
							|  |  |  |     call(driver_dir+"install.sh") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     with open(driver_dir+'setup_state.txt', 'w') as file: | 
					
						
							|  |  |  |       file.write('1') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def sleep(self): | 
					
						
							|  |  |  |     pass | 
					
						
							|  |  |  | 
 |